全部提取<a> tags from content</a>

时间:2011-07-04 08:14:51

标签: php html

我想提取某些页面中的所有链接及其链接文本以显示在块中。我已经尝试了正则表达式,但它没有得到正确的结果,因为标签没有修复模式,它们有各种属性。我使用PHP。

我该怎么做?

3 个答案:

答案 0 :(得分:8)

DOMDocument::loadHTML

喜欢:

$doc = new DOMDocument();
$doc->loadHTML($string);
foreach($doc->getElementsByTagName('a') as $a) {
    // do something with $a->textContent
} 

答案 1 :(得分:2)

您可以尝试使用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');
?>

答案 2 :(得分:1)