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 3

1 ответ:

Попробуйте что-нибудь вроде:

$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();