preg_replace语法,用于在关闭图像标记后添加chrs

Ada*_*nes 3 php regex preg-replace

我需要一个preg_replace语法在我拥有的字符串中的图像标记的/>之后添加一些东西(任何东西).

所以举个例子

$string="here is a <img src="images/test.gif" /> string!"   
Run Code Online (Sandbox Code Playgroud)

需要成为......

$string="here is a <img src="images/test.gif" /><br> string!"
Run Code Online (Sandbox Code Playgroud)

Ben*_*rne 5

$string = '<img src="test" />';
$result = preg_replace('/(<img[^>]+>(?:<\/img>)?)/i', '$1<br />', $string);
Run Code Online (Sandbox Code Playgroud)

这将匹配

<img />
<img>
<img></img>
Run Code Online (Sandbox Code Playgroud)

以及任何大写的变化.

表达式细分:

  • 外括号 - 匹配正则表达式并捕获到反向引用1
  • <img字面匹配字符
  • 匹配任何不在>1和无限次之间的任何字符
  • >从字面上匹配字符(考虑到找到时停止在上面)
  • </img>字面上匹配0到1次(可选,因为?)