Разбор изображения с использованием простого DOM

Я хочу разобрать изображение из файла HTML, используя простой DOM. До сих пор я использовал регулярные выражения, но все говорили мне, что это действительно плохая идея, поэтому я хотел попробовать Дом.

<?php
include('simple_html_dom.php');
$html = file_get_html('192.0.0.1/test.html');
var_dump($html);
foreach ($html->find('img') as $image) {
echo $images->src;
}
?>

test.html

<html>
<head>
</head>
<body>
<p>test</p>
<img src="test.jpg"/>
<p>test1</p>
</body>
</html>

Я получаю пустую страницу, и я проверил на наличие ошибок, но у меня их нет. Я следовал инструкциям по DOM, я сделал ошибку?

Также я могу разобрать img из переменной, которая имеет HTML-код?
Что я имею в виду:

$string='<p>sdadasd</p> <img src="test.jph/> <p>asdasda</p>';
$html=file_get_hmtl($string);

0

Решение

Вы могли бы использовать что-то вроде этого (я не знаю, где вы получили file_get_htmlтак что я не знаю какие методы возвращает этот объект)

$document = new DOMDocument();
$document->loadHTMLFile("http://127.0.0.1/index.html"); // I don't remember if this accepts streams

$images = $document->getElementsByTagName("img");

foreach($images as $image) {
//Use the image
}

Или, если вам нужны сложные запросы (например, теги img с определенным атрибутом), вы можете сделать

$xpath = new DOMXPath($document);
$images = $xpath->query("//img");
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]