2015-07-21 3 views
0

Я хочу найти все изображения в строке html, как в приведенном ниже коде. Почему все результаты в этом примере равны нулю (кроме имени узла, которое дает «img»)? Я хочу показать строку изображения html для каждого изображения.DOMDocument не работает

$html = '<img src=\'dasdasdasd.jpg\' >'; 

$dom = new DOMDocument(); 
$dom->loadHTML($html); 
$els = $dom->getElementsByTagName('img'); 

foreach ($els as $el) { 
    $nodeName = strtolower($el->nodeName); 
    $nodetext = strtolower($el->textContent); 
    $nodeval = strtolower($el->nodeValue); 
     var_dump($nodeName); 
     var_dump($nodetext); 
     var_dump($nodeval); 
} 
+0

Возможный дубликат [соскабливание всех i магов с веб-сайта с использованием DOMDocument] (http://stackoverflow.com/questions/15895773/scraping-all-images-from-a-website-using-domdocument) – cb0

+0

Посмотрите здесь http://stackoverflow.com/questions/15895773/scraping-all-images-from-a-website-using-domdocument – cb0

+0

есть разные проблемы в этих вопросах – abiku

ответ

1

Ну, что узел не имеет никакого значения или текст ...

То, что вы хотите, это атрибут:

$src = $el->getAttribute("src"); 
var_dump($src); //dasdasdasd.jpg 

Как прокомментировал, если вам нужен весь XML, вы можете использовать

$xml = $dom->savexml($el); 
echo $xml; 
+0

да, но мне нужно получить весь код изображения «» – abiku

+1

Это будет 'echo $ dom-> savexml ($ эш); ' – VolkerK

Смежные вопросы