将 img 标记替换为preg_replace和正则表达式


Replacing img tag with preg_replace and regular expressions

我不明白正则表达式。我需要更改以这种方式格式化的 img 标签:<img class="special-class" (then custom srcs and whatever) /> .我想preg_replace会做这项工作,还是会有更有效的方法?

我只需要正则表达式方法来搜索第一个类的完整 img 标签,这样我就可以用另一个保存为 $buzz 的字符串替换它

要匹配完整的 img 标签(具有有效的 html 并且其中没有不带引号的>(:

preg_match('#<img([^>]+)>#i', $html, $match);

不知道你还想要什么...

$match将包含 [0] 中的完整和 [1] 中的属性(作为字符串(。

如果要匹配类属性:

preg_match('#class="([^"])"#i', $html, $match);

编辑
呵呵,这可能有效:

preg_replace('#<img[^>]+class="[^"]*replace[^"]*"[^>]*>#', '', $html);

如果我输入:

<img src="oele" class="boele" />
<img src="boele" />
<img src class="replace boele">

它只替换最后一个 IMG,其余的保持不变。

正则表达式规则!

我会选择Javascript解决方案(想想jQuery(。如果你愿意,我可以提供帮助