У меня есть функция, которая заменяет атрибут href якорей в строке, используя DOMDocument от Php. Вот фрагмент кода:
$doc = new DOMDocument('1.0', 'UTF-8');
$doc->loadHTML($text);
$anchors = $doc->getElementsByTagName('a');
foreach($anchors as $a) {
$a->setAttribute('href', 'http://google.com');
}
return $doc->saveHTML();
Проблема в том, что loadHTML ($ text) окружает $ text тегами doctype, html, body и т. Д. Я пытался обойти это, делая это вместо loadHTML ():
$doc = new DOMDocument('1.0', 'UTF-8');
$node = $doc->createTextNode($text);
$doc->appendChild($node);
...
К сожалению, это кодирует все объекты (включая якоря). Кто-нибудь знает как это отключить? Я уже тщательно просмотрел документы и попытался взломать их, но не могу понять.
Спасибо! :)