Intereting Posts
Автоматически загружать файл config.php для всех страниц перед чем-либо еще zftool не ведет себя так, как ожидалось Как проверить, поддерживает ли curl для ssl? Использование SSL / TLS при отправке электронной почты с PHP Загрузить фотографию с ошибкой Codeigniter (ОБНОВЛЕНО) Mysql_fetch_object () SQL Query (КАК: Если результатов не найдено, отобразите «сообщение»)? Почему я вижу значение «undefined» на экране при отправке формы в jQuery Mobile? PHP Installer Script вернуть значение от закрытия к основному методу Laravel 4 Проверка Ajax для включения XMLHttpRequest (из Magnific Popup) тип экспонента экспоненциального числа до int или float htaccess получить разбиение на страницы с косой чертой Laravel 4: просмотр гнезда внутри макета с данными Как загрузить файл вида из другого представления с помощью Codeigniter БЕЗ необходимости проходить через контроллер? Symfony2: выбор вариантов с помощью ajax и проверки

PHP-код для прохождения через HTML-файл, чтобы найти все изображения там?

Я хотел, чтобы 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 разных метода для этого. Я также написал короткую запись о регулярных выражениях, которые могут помочь вам закрепиться на этом предмете. Они чрезвычайно полезны в таких ситуациях.