Можно ли изменить данный функционал. PHP
Можно ли получить src не только в img, а во всех тегах с атрибутом src?
<?php
$txt = 'Lorem Lorem Lorem <img src="path/img1.jpg"/> LoremLoremLoremLorem
LoremLorem Lorem <img src="path/img2.jpg" /> LoremLoremLorem
LoremLoremLorem
LoremLorem <img src="path/img3.jpg" />.';
$dom = new DomDocument();
$dom->loadHTML($txt);
foreach($dom->getElementsByTagName('img') as $node) {
var_dump( $node->getAttribute('src') );
}
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Можно сделать как указали в комментариях:
$dom->getElementsByTagName('*')
и затем проверять внутри цикла
$element->hasAttribute('src')
А есть вариант сразу через xpath
выбрать все элементы с таким атрибутом:
$dom = new DOMDocument();
$dom->loadHTML($txt);
$xpath = new DomXpath($dom);
foreach ($xpath->query('//*[src]') as $node) {
}
Не уверен до конца, что сработает. Но у css есть такая опция. А парсинг DOM происходит примерно по этому приницпу.
Note: Возможно вместо '//*[src]'
должно быть '//*[@src]'