Предположим, что у нас такой HTML-код. Нам нужно получить теги <a href=""></a>
которые НЕ содержат внутри него тег img.
<a href="http://domain1.com"><span>Here is link</span></a> <a href="http://domain2.com" title="">Hello</a> <a href="http://domain3.com" title=""><img src="" /></a> <a href="http://domain4" title=""> I'm the image <img src="" /> yeah</a>
Я использую это регулярное выражение, чтобы узнать все ссылки
preg_match_all("!<a[^>]+href=\"?'?([^ \"'>]+)\"?'?[^>]*>(.*?)</a>!is", $content, $out);
Я могу изменить его
preg_match_all("!<a[^>]+href=\"?'?([^ \"'>]+)\"?'?[^>]*>([^<>]+?)</a>!is", $content, $out);
Но как я могу сказать, чтобы исключить результаты, содержащие <img
подстроку внутри <a href=""></a>
?
спасибо