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 に答える