Problem mit eregi_replace

SilentWarrior

Erfahrenes Mitglied
Moin Leute

Also, ich weiss nicht... ich flipp noch aus, aber vielleicht kann mir ja hier jemand helfen.

Das Problem ist folgendes: Ich hab ein Formular, in das der Benutzer etwas in ein Textfeld eingibt. Die Ausgabe erfolgt dann (leicht modifiziert) ebenfalls wieder in einem Textfeld, das aber readonly ist. Jetzt ist aber das Problem aufgetaucht, dass, sobald der Benutzer " oder ' eingibt, das in der Ausgabe zu \" bzw. \\' mutiert. Das alleine finde ich schon äusserst seltsam. Eine Variable kann sich meines Wissens nicht selbstständig verändern - oder leben wir etwa schon im Zeitalter von Skynet? *angstkrieg*

Zurück zum Thema... ich habe dann versucht, das zu umgehen, in dem ich einfach mit eregi_replace die Backslashes wegzumachen versuchte. Das hat aber leider nicht geklappt. Hier mal der Code:
PHP:
$text = eregi_replace("'","'",$text);
// Anm.: vor dem ' müsste noch ein Backslash kommen,
// aber scheinbar liegt hier im Forum ein ähnliches Problem vor.
$text = eregi_replace("\"",""",$text);
Kann mir irgendjemand sagen, warum das nicht geht bzw. was ich verbessern muss? Vielen Dank schonmal.

SilentWarrior
 
Zuletzt bearbeitet:
Das muss so, man nennt das "magic_quotes". Und an sich ist es auch eine super sache.
php.net : http://www.php.net/manual/de/configuration.php
magic_quotes_gpc boolean
Dieser Schalter setzt den magic_quotes-Zustand für GPC (GET/POST/COOKIE) -Operationen. Wenn magic_quotes auf ON steht, werden automatisch alle ' (single-quote), " (double quote), \ (backslash) und NUL's mit einem Backslash versehen. Wenn auch magic_quotes_sybase auf ON steht, wird ein single-quote mit einem weiteren single-quote anstatt eines Backslashs versehen.


um deines zu verbessern solltest du einfach str_replace() nehmen.

um dein problem zu lösen solltest du dir stripslashes() mal anschauen.

in zukunft: RTFM! :#
 
Zuletzt bearbeitet:
brainstorm

ich danke dir für deinen beitrag. ich werd mir den kram mal anschauen.

das "rtfm" hätte's aber echt nimmer gebraucht... ich hab hier im forum gesucht, hab bei php.net mindestens 10 funktionen durchgegrübelt und noch so ein paar andere seiten angeschaut. also wirf mir bitte keine faulheit vor.
 
naja... man muss meistens einfach nur mal kurz die verschiedenen string-funktionen durchlesesn. wenn dann noch irgendwo slashes drin vorkommt ist die wahrscheinlichkeit groß, das das was damit zutun haben könnte.

aber passiert eben. =)
sonst hätte ich ja auch nix zu tun...
 

Neue Beiträge

Zurück