我需要在wordpress上的每个帖子上添加一个字符串(在本例中为div
)。我知道它在哪里,但我不知道如何。我尝试使用preg_replace
,但它不起作用:
$content = preg_replace('/<img[^>]+\>/i', '/<img[^>]+\>/i <div...>', $content);
结果我得到/<img[^>]+\>/i <div...>
而不是img后跟。
我该怎么办?
答案 0 :(得分:2)
替换部分应该是:'$0 <div...>'
,基本上是sais:将你在模式中找到的内容添加到我的div中。
所以你的代码应该是:
$content = preg_replace('/<img[^>]+\>/i', '$0 <div...>', $content);
答案 1 :(得分:1)
preg_replace()
的第二个参数应该是替换字符串,而不是另一个正则表达式。您可以对每个内存捕获使用$0
(整个匹配)或$1 ~ $9
。在您的情况下,您没有任何内存捕获(括号之间的东西),所以:
$content = preg_replace('/<img[^>]+>/i', '$0 <div...>', $content);
顺便说一下,你不必逃避表达式中的>
。
答案 2 :(得分:0)
$content = "<img /> <br/> <img />" ;
$content = preg_replace('/(<img[^>]+\>)/i', '$1 <div></div>', $content);
echo htmlentities($content) ;