PHP DomDocument编辑所有链接

时间:2013-03-18 03:22:14

标签: php domdocument

我使用以下代码从另一个页面抓取html并将其放入我的php页面:

$doc = new DomDocument;

// We need to validate our document before refering to the id
$doc->validateOnParse = true;
$doc->loadHtml(file_get_contents('{URL IS HERE}'));
$content = $doc->getElementById('form2');

echo $doc->SaveHTML($content);

我想更改<a href="/somepath/file.htm">的所有实例,以便我可以在其前面添加实际的域名。我怎么能这样做?

因此,需要将它们更改为:<a href="http://mydomain.com/somepath/file.htm">

1 个答案:

答案 0 :(得分:7)

尝试类似:

$xml = new DOMDocument(); 
$xml->loadHTMLFile($url); 
foreach($xml->getElementsByTagName('a') as $link) { 
   $oldLink = $link->getAttribute("href");
   $link->setAttribute('href', "http://mydomain.com/" . $oldLink);
}
echo $xml->saveHtml();