Анализирам html и не искам да включвам заглавни img тагове на заглавния елемент

Следва кодът, който е написан на PHP функция. В момента получавам целия src на img на целия HTML. Просто искам да имам img тага на целия html с изключение на таговете, присъстващи в заглавката.

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($ch);
$doc = new DOMDocument();
@$doc->loadHTML($data);
$finder = new DomXPath($doc);
$nodes_images = $finder->query("//img/@src");

person Umair    schedule 13.01.2020    source източник


Отговори (1)


Ако имате предвид елемента header HTML5, тогава използването на //img[not(ancestor::header)]/@src трябва да избере всички src атрибути на всички img елементи, които не са наследници на елемента header. Не знам обаче колко добре базираният на libxml2 HTML разбор, използван от loadHTML на PHP, поддържа разбор на HTML5.

person Martin Honnen    schedule 13.01.2020
comment
Искам да получа src на всички img тагове на html с изключение на тези, които присъстват в елемента ‹header›. Заглавката включва меню, лого и икони за социални медии. - person Umair; 13.01.2020