用img img后添加字符串

时间:2013-04-08 12:34:21

标签: php replace preg-replace

我需要在wordpress上的每个帖子上添加一个字符串(在本例中为div)。我知道它在哪里,但我不知道如何。我尝试使用preg_replace,但它不起作用:

$content = preg_replace('/<img[^>]+\>/i', '/<img[^>]+\>/i <div...>', $content);

结果我得到/<img[^>]+\>/i <div...>而不是img后跟。 我该怎么办?

3 个答案:

答案 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) ;