我需要div
在 wordpress 上的每个帖子的 img 标签之后添加一个字符串(在这种情况下是 a )。我知道在哪里做,但我不知道怎么做。我试过preg_replace
但它不起作用:
$content = preg_replace('/<img[^>]+\>/i', '/<img[^>]+\>/i <div...>', $content);
结果我得到/<img[^>]+\>/i <div...>
而不是 img 后面跟着 . 我能怎么做?
我需要div
在 wordpress 上的每个帖子的 img 标签之后添加一个字符串(在这种情况下是 a )。我知道在哪里做,但我不知道怎么做。我试过preg_replace
但它不起作用:
$content = preg_replace('/<img[^>]+\>/i', '/<img[^>]+\>/i <div...>', $content);
结果我得到/<img[^>]+\>/i <div...>
而不是 img 后面跟着 . 我能怎么做?
替换部分应该是: '$0 <div...>'
,这基本上是:用我的模式找到你发现的内容并附加我的 div。
所以你的代码应该像:
$content = preg_replace('/<img[^>]+\>/i', '$0 <div...>', $content);
第二个参数preg_replace()
应该是替换字符串,而不是另一个正则表达式。您可以使用$0
(整个匹配)或$1 ~ $9
您拥有的每个内存捕获。在您的情况下,您没有任何内存捕获(括号之间的内容),因此:
$content = preg_replace('/<img[^>]+>/i', '$0 <div...>', $content);
顺便说一句,您不必>
在表达式中转义。
$content = "<img /> <br/> <img />" ;
$content = preg_replace('/(<img[^>]+\>)/i', '$1 <div></div>', $content);
echo htmlentities($content) ;