Wie kann ich verhindern, dass Php-DOMDocument-Codierung von html-entities?

Ich habe eine Funktion, die ersetzt Anker "href" - Attribut in einen string mit Hilfe von Php-DOMDocument-Objekt. Hier ist ein snippet:

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

Das problem ist, dass loadHTML($text) umgibt den $text in der doctype, html, body, etc. tags. Ich versuchte zu arbeiten, um dieses dadurch statt loadHTML():

$doc        = new DOMDocument('1.0', 'UTF-8');
$node       = $doc->createTextNode($text);
$doc->appendChild($node);
...

Leider, dies kodiert für alle Elemente (Dübel im Lieferumfang enthalten). Weiß jemand wie man dies ausschalten? Ich habe schon gründlich durchgesehen, die docs und versucht, hacking, aber es kann nicht herausfinden.

Dank! 🙂

InformationsquelleAutor thesmart | 2009-04-27
Schreibe einen Kommentar