Onkel_Hägi Geschrieben 2. Juli 2008 Geschrieben 2. Juli 2008 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 Zitieren
kills Geschrieben 2. Juli 2008 Geschrieben 2. Juli 2008 sowas PHP: html_entity_decode - Manual ? Zitieren
Onkel_Hägi Geschrieben 2. Juli 2008 Autor Geschrieben 2. Juli 2008 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] Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.