我需要将两个图像之间的标签减少到一个<br>
以上。<br/>
它需要足够自由,才能遇到图像中的任何类型的属性信息、任何元素之间的任何类型的空白以及两种形式的中断。请注意,我不想影响<br/>
前面或后面<img>
的标签,只影响两个图像之间的标签。
这就是我正在使用的:
$content = preg_replace('/(<img[^>]*>)+\s*?(<br\/?>\s*?)+\s*?(<img[^>]*>)+/is','$1<br/>$3',$content);
这是一个例子
...
Some text here.<br>
<br><img src="http://www.domain.tld/image1.jpg"><br>
<img src="http://www.domain.tld/image2.jpg"><br><br/>
<img src="http://www.domain.tld/image3.jpg">
</div>
<br>
该模式应该只替换image2 和 image3 之间的 2 x标签。
我不知道为什么我的模式不起作用,你能看到我不是什么吗?
谢谢你的帮助!
编辑 仅供参考,我无法控制 $content 中的原始源材料。