我正在尝试解析一些 html 并删除不必要的重复链接。例如,我想要以下代码:
<p>
Lorem ipsum amet
<a href="http://edition.cnn.com/">
Proin lacinia posuere
</a>
sit ipsum.
</p>
<p>
<a href="http://www.google.com/articles/blah">
[caption align="alignright"]
<a href="http://www.google.com/articles/blah">
<img src="http://hoohlr.dev/Picture-142-300x222.png" alt="Blah blah/Flickr " height="222" class="size-medium wp-image-4351" />
</a>
sociis magnis [/caption]
</a>
</p>
要转换成这个(删除 [caption] 之前的链接以及结束标记:
<p>
Lorem ipsum amet
<a href="http://edition.cnn.com/">
Proin lacinia posuere
</a>
sit ipsum.
</p>
<p>
[caption align="alignright"]
<a href="http://www.google.com/articles/blah">
<img src="http://hoohlr.dev/Picture-142-300x222.png" alt="Blah blah/Flickr " height="222" class="size-medium wp-image-4351" />
</a>
sociis magnis [/caption]
</p>
删除的链接应始终位于 [标题] 之前。任何擅长正则表达式的人都可以使用 php preg_replace (或更简单的方法)帮助我做到这一点吗?
我将不胜感激。谢谢!
编辑:好的,我对我正在寻找的东西做了很好的尝试。http://regexr.com?31t05和http://regexr.com?31svv 试图发布它作为该网站的答案不会让我...任何人都可以改进它吗?