Я хочу извлечь все ссылки внутри некоторых страниц с их текстом ссылки, чтобы показать в блоке. Я пробовал регулярное выражение, но оно не получило правильного результата, потому что теги не имеют шаблона исправления, у них есть различные атрибуты. Я использую PHP.
Как мне это сделать?
DOMDocument :: loadHTML .
как :
$doc = new DOMDocument(); $doc->loadHTML($string); foreach($doc->getElementsByTagName('a') as $a) { // do something with $a->textContent }
Вы можете попробовать получить определенные теги с помощью PHP: DOMDocument :: getElementsByTagName . Вот пример:
внутри page.html
<a href="#">link1</a> <a href="#">link2</a> <a href="#">link3</a>
и это ваш код PHP:
<?php $src = new DOMDocument('1.0', 'utf-8'); $src->formatOutput = true; $src->preserveWhiteSpace = false; $src->load('page.html'); $links = $src->getElementsByTagName('a'); ?>
Как насчет использования DOM и getElementsByTagName ()?
http://php.net/manual/en/domdocument.getelementsbytagname.php