hi,
ich darf mal wieder einen Fehler beheben der tief im System hängt:
Wir lesen Text aus der DB und maskieren sie dann generell mit addslashes?!?
Wieso?
Die Slashes werden für die Javascript aufrufe gebraucht um den String
in einem Alert richtig auszugeben und nicht die Quotes zu schließen.
Nun wird dieser Text nicht nur in Alert-Befehlen benutzt sondern auch im normalen HTML.
Daten sollten immer passend für den Kontext, in den sie gebracht werden, maskiert werden - zu dem Zeitpunkt, wo sie in diesen Kontext gebracht werden.
// Gerade aus der DB gelesen
$text = "Ich bin ein text mit dem ital. Wort für Baum: l'albero";
// Obligatorisch für alle
$text = addslashes($text);// Ausgabe
alert('$text');
echo $text;Nun wird l'albero im Alert richtig ausgegeben aber nicht für das HTML.
Habe ich da eine Möglichkeit das irgendwie auszubügeln ohne, dass ich den ganzen Code durchforsten muss?
Wenn du - wie ich auf Grund der Fragestellung jetzt mal vermute - kein Interesse daran hast, die Fehler in der _Logik_ dieser Applikation auszubügeln - dann im allergrößten Notfall, in dem du bevor du die Daten als HTML ausgibst, diese Maskierung rückgängig machst, und direkt danach, falls sie anschliessend noch mal in einem Javascript-Kontext gebraucht werden, wieder hinzufügst.
gruß,
wahsaga
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }