Изменить значение атрибута тега с помощью PHP DOMDocument

Я хочу изменить значение атрибута тега с помощью PHP DOMDocument.

Например, скажем, что у нас есть эта строка HTML:

<a href="#" onclick="location.href='http://foo.bar/'; return false;">Click here</a>

Я загружаю вышеуказанный код в PHP следующим образом:

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

Я хочу изменить значение "href" на "http://google.com/", используя расширение DOMDocument для PHP. Возможно ли это?

Спасибо за помощь, как всегда!

Ответы

Ответ 1

$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;
}

Ответ 2

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

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

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