代码如下:
loadhtml($html);
//evaluate anchor tag in html
$xpath = new domxpath($dom);
$hrefs = $xpath->evaluate(/html/body//a);
for ($i = 0; $i length; $i++) {
$href = $hrefs->item($i);
$url = $href->getattribute('href');
//remove and set target attribute
$href->removeattribute('target');
$href->setattribute(target, _blank);
$newurl=$url..au;
//remove and set href attribute
$href->removeattribute('href');
$href->setattribute(href, $newurl);
}
// save html
$html=$dom->savehtml();
echo $html;
?>
例2
代码如下:
/*
孙悟空名字>
孙行者名字>
123年龄>
介绍>
学生>
白骨精名字>
140年龄>
介绍内容介绍>
学生>
班级>
*/
$xmldoc = new domdocument('1.0', 'utf-8');
$xmldoc->load('datas.xml');
$itemsnodelist = $xmldoc->getelementsbytagname('学生');
$itemelement = $itemsnodelist->item(0);//得到第一个完整的学生信息节点
$itemchildsnodelist = $itemelement->getelementsbytagname('名字');//得到子节点“名字”,也许有多个名字
$itemchildnode = $itemchildsnodelist->item(0);//得到第一个名字节点
echo $itemchildnode->nodevalue;//输出节点值
//封装成函数
$nodearr = array('名字', '年龄', '介绍');
function getnodeval($xmldoc, $itemsname, $nodearr){
$items = $xmldoc->getelementsbytagname($itemsname);
for($i=0; $i length; $i++){
$item = $items->item($i);
foreach($nodearr as $node){
$data[$i][] = $item->getelementsbytagname($node)->item(0)->nodevalue;
}
}
return $data;
}
$data = getnodeval($xmldoc, '学生', $nodearr);
print_r($data);