Leeloo5E: + PHP: kleiner < und größer >

Beitrag lesen

Hallo,

Problem bleibt, wenn ein kleiner < oder größer > im Textbereich des XML-Bereiches vorkommt. Dann kommt nämlich jeder Parser durcheinander: Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : StartTag: invalid element name in ...

Wenn ich vorher htmlspecialchars mache, dann werden natürlich auch die zum Tag gehörenden < und > maskiert.

Ja, so ist das nun mal. Woher soll denn htmlspecialchars() wissen, was Code und was Daten ist? Wenn du Daten an die DOM-Funktionen übergibst, mach das unmaskiert, denn so wollen die das haben. Wenn du Code übergibst, dann nimm appendXML(), und sorge dafür, dass die im Code eingebettenten Daten den Regeln entsprechen. Dazu musst du die Daten vor dem Einbetten in den Code entsprechend behandeln, denn es handelt sich dabei um eienn Kontextwechsel. Du wirst also keine Erfolge verzeichnen, wenn du alles in den selben Topf wirfst und dann erwartest, dass der PC irgendwie intelligent das Richtige macht.

ja, genau das ist das Problem: Tags like <p> werden genauso behandelt wie ein < oder > inmitten des Textes, die dann einen Parsingfehler verursachen, wenn sie nicht maskiert sind. Der Parser sieht sie ebenfalls als Tags an. Ich übergebe halt Code in validen Tags, nur dazwischen können als normaler Text halt < und > vorkommen, die mir dann die Probleme machen. Es ist zum heulen. Ich müsste das also verbieten, was nicht unbedingt eine feine Art ist ...

Gruß,
Leeloo

--
"Als es noch keine Computer gab, war das Programmieren noch relativ einfach." - Edsger W. Dijkstra