Wie füge ich HTML in ein PHP-DOM-Objekt ein? [Duplikat]

8

Ich benutze das DOM-Objekt von PHP, um HTML-Seiten für meine Website zu erstellen. Dies funktioniert gut für meinen Kopf, aber da ich eine Menge HTML in den Körper eingeben werde (nicht über DOM), würde ich denken, dass ich DOM->createElement($bodyHTML) verwenden müsste, um meinen HTML-Code von meiner Site zum DOM-Objekt hinzuzufügen.

Allerdings scheint DOM->createElement alle HTML-Entities zu analysieren, so dass mein Endergebnis den HTML-Code auf der Seite anzeigt und nicht das tatsächliche HTML-Rendering.

Ich benutze derzeit einen Hack, um dies zum Laufen zu bringen,

%Vor%

Dies setzt meinen gesamten Site-Code in einen Kommentar, den ich beim Kommentar umgehe und manuell die <body> -Tags hinzufüge.

Momentan funktioniert diese Methode, aber ich glaube, es sollte einen angemesseneren Weg geben, dies zu tun. Idealerweise so etwas wie DOM->createElement() , das keine der Zeichenfolgen analysiert.

Ich habe auch versucht, DOM->createDocumentFragment() zu verwenden. Allerdings mag es einige der Zeichenketten nicht, also würde es Fehler geben und nicht funktionieren (zusammen mit zusätzlicher CPU-Leistung, um das HTML des Körpers erneut zu analysieren).

Also, meine Frage ist, gibt es einen besseren Weg, dies zu tun, als mit DOM->createComment() ?

    
lanrat 12.02.2010, 21:14
quelle

4 Antworten

-2

Ich habe viel Zeit damit verbracht, an Anthony Forloneys Antwort zu arbeiten, aber ich kann nicht scheinen, dass der HTML-Code an den Körper angehängt wird, ohne dass es einen Fehler gibt.

@Mark B: Ich habe versucht, das zu tun, aber wie ich in den Kommentaren gesagt habe, ist es auf meinem HTML-Code fehlerhaft.

Ich habe vergessen, die folgende, meine Lösung hinzuzufügen:

Ich habe beschlossen, mein html-Objekt viel einfacher zu machen und mir zu erlauben, dies zu tun, indem ich kein DOM benutze und nur Zeichenfolgen benutze.

    
lanrat 15.02.2010, 03:35
quelle
13

Sie verwenden das DOMDocumentFragment-Objekt, um beliebige HTML-Chunks in ein anderes Dokument einzufügen.

%Vor%     
Marc B 13.02.2010 02:43
quelle
2

Ich habe die Lösung gefunden, aber es ist keine reine PHP-Lösung, aber funktioniert sehr gut. Ein kleiner Hack für alle, die unzählige Stunden verloren haben, wie ich, um das zu reparieren.

%Vor%     
Pian0_M4n 12.09.2013 14:15
quelle
0

loadHTML funktioniert einwandfrei.

> %Vor%

was gibt Hey there mrlanrat! in rot.

oder

%Vor%

Welche Ausgaben:

Hier ist der Körper, ein schöner Körper, den ich hinzufügen könnte und innerhalb Ihres HTML-Quellcodes, der in body -Tags eingeschlossen ist.

    
Anthony Forloney 12.02.2010 21:31
quelle

Tags und Links