27

我想用 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/”。这可能吗?

感谢您一如既往的帮助!

4

2 回答 2

47
$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;
}
于 2012-07-09T00:11:43.747 回答
8
$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/');
于 2012-07-09T00:29:59.817 回答