Felix Riesterer: Sonderzeichen in textNodes

Beitrag lesen

Liebe(r) Dee,

Beim Erstellen von textNodes mit createTextNode werden HTML-Sonderzeichen wie < oder & automatisch umgewandelt. Sonderzeichen wie ä oder ö bleiben aber erhalten... An den Stellen bricht die Ausgabe von saveXML() mit ner Warnung ab.

Ich verwende (noch) kein PHP5. Und mein PHP4 verwende ich ohne DOM. Aber ich stelle mir das mal so ähnlich wie das DOM in Javascript vor.

Was hindert Dich, die Funktion createTextNode() "umzuprogrammieren"? Erstelle Doch eine Funktion namens "my_createTextNode()", in der Du per str_replace() (oder so ähnlich) die typisch deutschen Sonderzeichen durch ihre HTML-Entitäten ersetzt, um dann die echte createTextNode() aufzurufen?

Das könnte dann in etwa so aussehen:

function my_createTextNode($my_string)  
{  
$sonderzeichen = array ("ä", "Ä", "ö", "Ö", "ü", "Ü", "ß");  
$ersetzung = array("&auml;", "&Auml;", "&ouml;", "&Ouml;", "&uuml;", "&Uuml;",  "&szlig;");  
  
$korrigierter_string = str_replace($sonderzeichen, $ersetzung, $my_string);  
  
createTextNode($korrigierter_string);  
return;  
}

Habe den Code jetzt nicht überprüft, aber Du siehst, was ich meine. Ich habe mal in der Doku von PHP nach createTextNode gesucht. Dort heißt die Funktion zwar etwas anders, aber Du siehst ja das Wesentliche.

Liebe Grüße aus Ellwangen,

Felix Riesterer.