Я хотел, чтобы php-скрипт извлекал все изображения в HTML-код и перечислил его. Может ли кто-нибудь помочь мне сделать это или какую-то идею о том, как я должен действовать? Я новичок в этом, поэтому любая помощь будет оценена по достоинству.
вы можете использовать DOMDocument или simplehtmldom . вот пример DOMDocument:
$dom = new DOMDocument(); $dom->loadHtml($yourHtmlAsAString); foreach ($dom->getElementsByTagName('img') as $img) { echo $img->getAttribute('src').'<br>'; // or whatever you need }
Запустите код HTML через одну из многих библиотек парсера HTML, а затем запросите значение атрибута src для всех элементов img.
Пробовал посмотреть на DOMDocument в PHP? http://php.net/manual/en/domdocument.getelementsbytagname.php
Хороший пример с этой страницы:
$dom = new DomDocument(); $dom->prevservWhiteSpace = false; $dom->loadHTML($htmlString); $imageList = $dom->getElementsByTagName('img'); $imageCnt = $imageList->length; for ($idx = 0; $idx < $imageCnt; $idx++) { print $imageList->item($idx)->nodeValue . "\n"; }
Должны дать вам основы, которые вам нужны.
* Отказ от ответственности, пример слегка изменен из комментария, с которого я его дернул, но это довольно простой материал.
Если вы хотите загрузить его из реального файла php / html …
$dom = new DomDocument(); if (!@$dom->load('img.php')) { echo 'url does not exist'; return; } $imgs = $dom->getElementsByTagName('img'); for ($buffer = ''; $i = 0, $len = $imgs->length; $i < $len; $i++) { $buffer .= 'image ' . $i . ' is: ' . $imgs->item($i)->getAttribute('src') . '<br/>'; } echo $buffer;
Я бы предложил заглянуть в DOM . Он должен обеспечивать функциональность, которую вы ищете.
Я думаю, что одним из самых простых способов сделать это было бы регулярное выражение. Загрузите HTML через объект DOMDocument, как упомянуто, но создайте выражение – очевидно, PHP имеет 3 разных метода для этого. Я также написал короткую запись о регулярных выражениях, которые могут помочь вам закрепиться на этом предмете. Они чрезвычайно полезны в таких ситуациях.