将文本附加到字符串内第一次出现的图像

时间:2016-03-16 09:43:48

标签: php regex

我想在第一次出现<img>标签后添加字符串。

假设我有以下html标记:

<p>text here text here text here text here text here
<img class="img-class" src="image1.jpg" srcset="" alt="" />
text here text here text here text here text here text here text here
text here text here <img class="img-class" src="image2.jpg" srcset="" alt="" />
text here text here text here text here

使用正则表达式 - 如何在第一个<img>标记后添加文本?​​

2 个答案:

答案 0 :(得分:0)

试试这个:

preg_replace('#(<img[^>]* />)#','$1.$myText',$content,1)

其中$ text是要添加额外内容的字符串,YOURTEXT应该是在第一个图像后添加的变量。请记住为YOURTEXT添加空格。

答案 1 :(得分:0)

知道了!这就是我做到的:

$myText = 'Text I want to add';
preg_match('#(<img[^>]* />)#',$content,$matches);
if ( ! empty( $matches ) AND ! empty( $matches[0] ) )
{
    $content = str_replace($matches[0], $matches[0] . $myText, $content);
}

这将在$myText内的第一个<img>匹配后立即添加$content