我不懂正则表达式。我需要更改以这种方式格式化的img标记:<img class="special-class" (then custom srcs and whatever) />
。我认为preg_replace可以完成这项工作还是会有更有效的方法?
我只需要使用正则表达式方法来搜索第一个类的完整img标记,这样我就可以将其替换为保存为$ buzz的另一个字符串
答案 0 :(得分:2)
要匹配一个完整的img标记(有效的html,并且没有不带引号的>
):
preg_match('#<img([^>]+)>#i', $html, $match);
不知道你还想要什么...
$match
将包含[0]
中的完整内容以及[1]
中的属性(作为字符串)。
如果您想匹配class属性:
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,其余部分保持不变。
正则表达式规则!
答案 1 :(得分:0)
我会选择Javascript解决方案(想想jQuery)。如果您希望我能帮助您