Veröffentlicht 2. Juli 200817 j Hi Leute, ich schreibe gerade ein Script, das eine Datei mit dem DOM-Parser behandelt. Dieser DOM-Parser aber speichert mir die Datei mit Hexadezimalen Entities ab, was aber absolut nicht erwünscht ist, da wir dadurch zu einem späteren Zeitpunkt Probleme bekommen. Ich habe DOM-Parser-mäßig schon alles versucht und es nicht hinbekommen ihn in dem Punkt zu zügeln. Gibt es nicht eine Funktion die die Hexadezimalen Entities in die Sonderzeichen (z.B. ä, ö, ü) wieder umwandelt? Mit utf8_decode habe ich es auch schon versucht.... Workarount meinerseits wäre jetzt einfach einen Array mit den Entities durch einen Array mit den Sonderzeichen zu ersetzen, aber das ist ja nicht dauerhaft konsistent... Weil sobald sich etwas an den Entities ändert, müßte ich das bei mir ja auch anpassen. Wäre Euch für Ideen sehr dankbar! Danke schonmal im Voraus. Grüße Hägi
2. Juli 200817 j Jein... Die html_entity_decode hat mir nicht das gebracht was ich wollte. Habs aber jetzt auch gelöst bekommen (so wie es aussieht) $content = preg_replace('~([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $content); $content = preg_replace('~([0-9]+);~e', 'chr("\\1")', $content); // replace literal entities $trans_tbl = get_html_translation_table(HTML_ENTITIES); $trans_tbl = array_flip($trans_tbl); $content = strtr($content, $trans_tbl); [/PHP]
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.