正则表达式所有表达式但不在其他表达式

时间:2018-01-17 10:35:41

标签: php regex

我需要选择所有

<a href="..."><img ...></a>

但不是表达式在

之内

[caption]<a href="..."><img ...></a>...[/caption]

这个表达式我可以选择所有[标题]

/(\[caption[^>]*\](.*?)\[\/caption\])/i

所以,通过这个表达式,我可以选择所有的img:

/<a[^>]*?href=".*?(\.jpg|\.jpeg|\.png|\.gif)"[^<]*><img[^>]*><\/a>/i

我需要有两个正则表达式的组合,以选择所有的&gt; img,除了它在[标题]内。我可以用^来否定第一个表达式,但是如何选择第二个?

正则表达式在PHP内部使用函数preg_replace。

0 个答案:

没有答案