БлогNot. PHP: как извлечь все ссылки из документа

PHP: как извлечь все ссылки из документа

Если действительно нужно это сделать, то, как и любое другое содержимое, ссылки из внешнего URL удобней всего получить через класс DOMDocument. Он доступен в стандартной сборке PHP5. Приведём маленький пример, который получает содержимое с гипотетического URL 'http://'.MY_HOST.'/index.php' (адрес хоста MY_HOST задаётся константой), организует цикл для просмотра всех ссылок с этого URL и печатает их. Если атрибут target ссылки непуст, он дополнительно выводится через запятую после адреса ссылки.

<?php
define("MY_HOST", "www.myhost.com");
$doc = new DOMDocument();
@$doc->loadHTMLFile('http://'.MY_HOST.'/index.php');
$links = $doc->getElementsByTagName("a");
for ($i = 0; $i < $links->length; $i++) { //Цикл по всем ссылкам
 echo '<br>'.$links->item($i)->getAttribute("href");
 $t=$links->item($i)->getAttribute("target");
 if (!empty($t)) echo ', '.$t;
}
?>

Для работы со ссылками текущего документа применять PHP не требуется, достаточно использовать Javascript-свойство document.links, пример можно посмотреть, скажем, в исходнике этого моего старого скрипта.

07.08.2011, 14:52 [11296 просмотров]


теги: программирование javascript php ссылки

К этой статье пока нет комментариев, Ваш будет первым