Wir verwenden ein CMS auf unserer Website. Viele Benutzer haben HTML-Inhalt in die Datenbank eingefügt, die seltsam formatiert ist. Wenn Sie beispielsweise den gesamten HTML-Code in eine Zeile schreiben:Wie kann ich den InnerText eines DOMEelements in PHP bekommen?
Dies wird im Browser natürlich korrekt dargestellt. Allerdings bin ich ein Skript in PHP zu schreiben, die diese Daten in eine DOMDocument lädt sich wie so:
$doc = new DOMDocument();
$doc->loadHTML($row['body_html']);
var_dump($doc->documentElement->textContent);
Dies zeigt sich zum Beispiel:
This is my titleFirst paragraphSecond paragraph
Wie kann ich documentElement
innerText
zurückzukehren, anstatt textContent
? Ich glaube, innerText
wird eine Zeichenfolge mit Zeilenumbrüchen zurückgeben.
Sie sollten über alle Elemente im DomDocument iterieren und den Text Element für Element abrufen und die Whitespaces manuell einfügen. Schauen Sie sich [hier] (http://stackoverflow.com/questions/191923/how-do-i-iterate-through-dom-elements-in-php) zum Beispiel an. DomDocument selbst kann nicht wissen, wo es liegen soll, sondern die Leerzeichen. – cb0