0

我对 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);

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

4

1 回答 1

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;
    }
}
于 2013-01-29T18:14:55.107 回答