web-dev-qa-db-ja.com

PHP DOMDocumentでタグ属性値を変更します

PHP DOMDocumentでタグの属性の値を変更したい。

たとえば、次のHTML行があるとします。

<a href="http://foo.bar/">Click here</a>

上記のコードをPHPに次のようにロードします。

$dom = new domDocument;
$dom->loadHTML('<a href="http://foo.bar/">Click here</a>');

PHPのDOMDocument拡張機能を使用して、「href」の値を「http://google.com/」に変更したい。これは可能ですか?

いつものように助けてくれてありがとう!

22
apparatix
$dom = new DOMDocument();
$dom->loadHTML('<a href="http://foo.bar/">Click here</a>');

foreach ($dom->getElementsByTagName('a') as $item) {

    $item->setAttribute('href', 'http://google.com/');
    echo $dom->saveHTML();
    exit;
}
35
phirschybar
$dom = new domDocument;
$dom->loadHTML('<a href="http://foo.bar/">Click here</a>');

$elements = $dom->getElementsByTagName( 'a' );

if($elements instanceof DOMNodeList)
    foreach($elements as $domElement)
        $domElement->setAttribute('href', 'http://www.google.com/');
7
iDexter