使用DOM分析器解析和编辑HTML解析器

问题描述:

如何使用PHP DOM解析器编辑HTML页面?我在我的网站上有一个我想编辑的页面。我想这些东西......使用DOM分析器解析和编辑HTML解析器

foreach($html->find('div[class=doc-metadata]') as $data){ //bunch of HTML codes that contain a link to be edited. 
     $metadata = $data->children();   

     } 

的页面包含我想要编辑的href的链接。说...

<a href="this/is/random/link">Link to edit</a> 

我试过了。

foreach($html->find('div[class=doc-metadata]') as $data){  

    $link= $data->find('a');  
    $link->href = null; //set to null or change it completely (i think) 

    } 

但之后,我完全失去了。我真的不知道该怎么做。

+0

那么,你在寻找['saveHTML()'](http://www.php.net/manual/en/domdocument.savehtml.php)吗? – fardjad 2012-08-15 12:31:53

+0

嗯解析后的方式,我想保存到一个数组。从那里,找到标记并更改href。 – 2012-08-15 12:37:12

+0

你能描述一下你期望的结果吗? – 2012-08-15 13:07:24

要更改元素的属性,可以使用setAttribute()

$link->setAttribute("target", "_blank"); 

做完这些之后,您可能需要DOM的HTML输出。你可以通过saveHTML()来做到这一点。

print $html->saveHTML();