Ich möchte keine Backslashes :(
Sicher, dass der String vorher keine Backslashes hat? Wo kommt der überhaupt her? Üblicherweise handelt man sich die Backslashes dann ein, wenn man Stringdaten per GET oder POST übermittelt bekommt. Das ist im Prinzip gut,
Das ist genauso "gut", wie die Idee "gut" ist, daß zum Beispiel der IE die Content-Type-Angabe nicht wirklich beachtet. Oder andere "smarte" Techniken aus dem Hause Microsoft.
In jedem Fall: stripslashes() ist die Funktion deiner Wahl. Ich würde sie grundsätzlich vor htmlspecialchars() anwenden.
Da wage ich mal zu hinterfragen, wo denn bitte der Vorteil von unerwartet auftauchenden Zusatzzeichen und dem daraus resultierenden, pauschalen stripslashes()-Einsatz an jeder Ecke gegenüber dem gezielten Einsatz von beispielsweise mysql_escape_string() dort, wo man es braucht, sein soll?
Wenn das so ein doller Vorteil wäre, könnte man auch gleich hingehen und htmlentites()/htmlspecialchars() abschaffen - ohne diese beiden Funktionen kann man sich schließlich auch ganz unangenehm die Seite zerschießen, also warum sollte PHP das nicht auch automatisch machen..
Ich für meinen Teil finde diese Bevormundung, die man alle Nase lang wieder rückgängig machen muß, jedenfalls äußerst störend und dementsprechend das Abschalten alles andere als "blöd" (wie Henryk meinte).
Gruß,
soenk.e