【发布时间】:2014-03-11 01:11:56
【问题描述】:
您好,我希望有人可以帮助我解决我遇到的 preg_replace 问题
我有以下preg_replace("/(\/[^\/]*.jpg)/", ".jpg", $input_lines);
想法是将我的 wordpress 站点中的图像替换为其原始名称...该文件已存在于非缓存文件夹中,因此我无需担心该部分...
<img src="http://url.com/wp-content/uploads/cache/2014/02/flag/278439615.jpg">
我有一个替换来处理网址中的cache,所以我留下了这样的网址:
<img src="http://url.com/wp-content/uploads/2014/02/flag/278439615.jpg">
现在下一步是从 URL 中删除 number.jpg,该数字可以是字母或数字。
所有 URL 中的常量是 / 和 .jpg 的最后一次出现,preg_replace("/(\/[^\/]*.jpg)/", ".jpg", $input_lines); 负责
然而问题是 preg_replace 需要在图像标签中查找标签,而不是替换任何不在图像标签中的代码...
如何添加到正则表达式 (preg_replace) 以仅查看图像标签内部的替换?
理想的最终结果是如下所示的 URL:
<img src="http://url.com/wp-content/uploads/2014/02/flag.jpg">
正则表达式 (preg_replace) 还需要替换所有匹配项(页面上可能有多个图像)。
非常感谢您的帮助!
【问题讨论】:
标签: regex html-parsing preg-replace