У меня есть функция, которая заменяет атрибут 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);
...
К сожалению, это кодирует все объекты (включая якоря). Кто-нибудь знает, как это выключить? Я уже внимательно просмотрел документацию и попробовал взломать, но не могу понять.
Спасибо! :)