setAttribute没有做任何事情

时间:2013-06-15 17:19:06

标签: php html dom

我有一个PHP页面。它应该在页面中获取链接的所有href并将其更改为其他内容,然后显示页面。但事实并非如此。这是我的代码:

$returndata = file_get_contents($url);
$doc= new DOMDocument(); 
@$doc->loadHTML($returndata);
foreach($doc->getElementsByTagName('a') as $anchor)
{
        $href=$anchor->getAttribute('href');
        $splited=str_split($href);
        $hashed=implode("*",$splited);
        $anchor->setAttribute("href", $hashed);
} 
echo $returndata;

setAttribute没有做任何事情。然后我尝试在此之前添加:

$anchor->removeAttribute("href"); 

但没有变化。

1 个答案:

答案 0 :(得分:1)

示例中的回应$returndata与您正在处理的HTML文档无关。这是旧的,未更改的字符串数据。

您需要使用DomDocument::saveHTML输出您正在操纵的实际DOMDocument