以特定方式修改所有img src标记

时间:2011-01-24 04:33:43

标签: php

我想使用phpThumb来调整我的网页内容div中的所有图片,这些图片在投放到移动设备时会显示。

因此,在我的移动设备页面模板中,我需要按以下方式更改<img>中的所有<div id="content>代码:

<img src="/images/image_01.jpg">
-> <a href="/images/image_01.gif">
     <img src="phpThumb.php?src=images/image_01.jpg&w=300">
   </a>

<img src="/images/image_02.gif">
-> <a href="/images/image_02.gif">
     <img src="phpThumb.php?src=images/image_02.gif&w=300">
   </a>

这样做的最佳方式是什么?

3 个答案:

答案 0 :(得分:0)

使用str_replace将旧img代码替换为新代码。或者,如果您对正则表达式感到满意,也可以使用preg_replace

答案 1 :(得分:0)

由于这些是特定于移动设备的模板页面,我建议将其应用于实际模板文件,而不是每次移动设备请求页面时运行一些PHP代码来转换它。大多数编辑都有Search&amp;替换功能。还有一些支持Regexes。利用此功能将所有/src="([^"]+)"/替换为src="phpThumb.php?src=$1&w=300"

答案 2 :(得分:0)

正则表达式非常适用于此目的。但你也可以使用http://querypath.org/的“服务器端jQuery”来改变它:

$html = qp($html);
foreach ($html->find("img") as $img) {

     $src = $img->attr("src");
     $img->attr("src", "new.php...");   // redirect to thumbNail

     $img->replaceWith("<a href='$src'>" . $img->html() . "</a>");
}
print $html->writeHTML();