从匹配的锚文本中获取href值

时间:2013-01-29 18:02:19

标签: php html-parsing domdocument

我是DOMDocument类的新手,似乎无法找到我想要做的答案。

我有一个大的html文件,我想从基于锚文本的元素中获取链接。

所以例如

$html = <<<HTML
<div class="main">
    <a href="http://link.com" target="blank" ><span><font style="color: #e7552c;"><img src="http://images.com/spacer.gif"/>Keyword</font></span></a>
    other text
</div>
HTML;

// domdocument
$doc = new DOMDocument();
$doc->loadHTML($html);

我想获取具有文本关键字的任何元素的href属性的值。希望很清楚

1 个答案:

答案 0 :(得分:0)

$html = <<<HTML
<div class="main">
    <a href="http://link.com" target="blank" ><span><font style="color: #e7552c;"><img src="http://images.com/spacer.gif"/>Keyword</font></span></a>
    other text
</div>
HTML;

$keyword = "Keyword";

// domdocument
$doc = new DOMDocument();
$doc->loadHTML($html);
$as = $doc->getElementsByTagName('a');
foreach ($as as $a) {
    if ($a->nodeValue === $keyword) {
        echo $a->getAttribute('href'); // prints "http://link.com"
        break;
    }
}