使用PHP DOMDocument更改标记属性值

时间:2012-07-09 00:08:38

标签: php dom attributes tags 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/”。这可能吗?

感谢您一如既往的帮助!

2 个答案:

答案 0 :(得分:30)

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

答案 1 :(得分:5)

$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/');