Получить атрибут href ссылки на PHP | Web-Answers.Ru

Регулярные выражения для парсинга HTML — не очень удобная штука. Лучше воспользоваться встроенным в PHP объектом DOM, он сделает Ваш код более простым, быстрым и надёжным:

Код:

$dom = new DOMDocument;

$dom->loadHTML($html);

foreach ($dom->getElementsByTagName(‘a’) as $node) {

echo $dom->saveHtml($node), PHP_EOL;

}

Этот код выведет HTML-код всех ссылок, которые находятся в переменной $html.

Для работы с атрибутами есть следующие функции.

Проверить, существует ли атрибут href у Вашей ссылки:

Код:

if($node->hasAttribute( ‘href’ )) {

// …

}

Вывести значение атрибута href:

Код:

1

echo $node->getAttribute( ‘href’ );

Изменить значение атрибута href:

Код:

$node->setAttribute(‘href’, ‘something else’);

Удалить атрибут href:

Код:

$node->removeAttribute(‘href’);

А ещё можно работать с HTML-атрибутами непосредственно из XPath:

Код:

 

$dom = new DOMDocument;

$dom->loadHTML($html);

$xpath = new DOMXPath($dom);

$nodes = $xpath->query(‘//a/@href’);

foreach($nodes as $href) {

echo $href->nodeValue;                       // выводим значение атрибута

$href->nodeValue = ‘new value’;              // задаём новое значение атрибута

$href->parentNode->removeAttribute(‘href’);  // удаляем атрибут

}

Источник: Получить атрибут href ссылки на PHP | Web-Answers.Ru.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *