我需要将多个数据库条目中的所有/media/* url替换为{media url=URL}
我有以下几项测试:
<img src="/media/wysiwyg/nutritionfacts/NLAHCLEA00600000CP.jpg" alt="NLA for Her Her Cleanse 60ct" />
<img src="/wysiwyg/nutritionfacts/NLAHCLEA00600000CP.jpg" alt="NLA for Her Her Cleanse 60ct" />
<img src="/nutritionfacts/NLAHCLEA00600000CP.jpg" alt="NLA for Her Her Cleanse 60ct" />
<img src="/media/wysiwyg/nutritionfacts/NLAHCLEA00600000CP.jpg" alt="NLA for Her Her Cleanse 60ct" />我试图使用下面的Regex
<img.+?src=\"\/media(.+?)[\"'].*?>/g最终结果应该如下所示:
<img src="{{media url="/wysiwyg/nutritionfacts/NLAHCLEA00600000CP.jpg}}" alt="NLA for Her Her Cleanse 60ct" />我计划使用php的preg_replace
对于regex,我应该使用什么来查找和替换url?我想在这里弄清楚:https://regex101.com/r/kF3gI1/1
发布于 2016-01-31 05:00:58
因此,我继续并假设所有条目将使用双引号来封装图像URL。下面是我用来测试的代码:
$tests = array(
'<img src="/media/wysiwyg/nutritionfacts/NLAHCLEA00600000CP.jpg" alt="NLA for Her Her Cleanse 60ct" />',
'<img src="/wysiwyg/nutritionfacts/NLAHCLEA00600000CP.jpg" alt="NLA for Her Her Cleanse 60ct" />',
'<img src="/nutritionfacts/NLAHCLEA00600000CP.jpg" alt="NLA for Her Her Cleanse 60ct" />',
'<img src="/media/wysiwyg/nutritionfacts/NLAHCLEA00600000CP.jpg" alt="NLA for Her Her Cleanse 60ct" />',
);
foreach ($tests as $str) {
echo preg_replace("/<img.+?src=\"(.+?)\"/","<img src=\"{{media url=\"$1\"}}\"",$str)."\r\n";
}以下是研究结果:
<img src="{{media url="/wysiwyg/nutritionfacts/NLAHCLEA00600000CP.jpg"}}" alt="NLA for Her Her Cleanse 60ct" />
<img src="/wysiwyg/nutritionfacts/NLAHCLEA00600000CP.jpg" alt="NLA for Her Her Cleanse 60ct" />
<img src="/nutritionfacts/NLAHCLEA00600000CP.jpg" alt="NLA for Her Her Cleanse 60ct" />
<img src="{{media url="/wysiwyg/nutritionfacts/NLAHCLEA00600000CP.jpg"}}" alt="NLA for Her Her Cleanse 60ct" />https://stackoverflow.com/questions/35110406
复制相似问题