[PHP] \" bzw verlassen eines Strings
-
Hi !
Sorry für die blöde Überschrift, aber ich weiß nicht wie ich meine Frage sonst nennen soll ...
Also, es geht um folgendes :
Ich hab mir zur Übung ein kleines dateibasiertes Gästebuch geschrieben; das funzt -oh wunder- auch ganz OK
Ein Username, Emailaddy und ein kleiner Text wird über ein HTML Formualar eingelesen und in eine Datei geschriebenWenn ich jetzt beim Messagetext folgendes eingebe :
hallo \"<h1>welt</h1>
Wird nicht etwa "hallo welt" ausgegeben sondern in etwa sowas :
[code]
hallo welt //<<-- Welt bitte in ganz groß vorstellen :)[/code]Wie kann ich verhindern dass man mit \" einen PHP String verlässt und HTML Befehle ausgeben kann ? Auf der Tutorialseite von Quakenet hab ich nix gefunden, auch nicht auf www.webmasterpro.de
Danke für eure Hilfe :p
-
Funktioniert das wirklich nur, wenn du ein \" voransetzt?
Suchst du vielleicht htmlspecialchars oder htmlentities?
-
Jo, genau sowas, thx
-
Mh, die Funktion tuts doch net.
Der ersetzt jetzt jedes \ durch \\, sicherlich nicht im Sinne des ErfindersGibts da keine andere Funktion ? Ich hab in der Funktionsreferenz von www.php.net nichts gefunden was mir wirklich hilft...
Danke nochmal !
-
ich mach nach dem Aufrug einfach immer noch 3 mal str_replace:
$string = str_replace("\\"",""",$string); $string = str_replace("\\';","'",$string); $string = str_replace("\\\\","\\",$string);
Wenn du was besseres findest: her damit (ich find das nämlich auch immer ein bischen umständlich
[ Dieser Beitrag wurde am 18.02.2003 um 21:29 Uhr von flenders editiert. ]
-
Super, das klappt !
Thx
-
Hi !
flenders : In deiner Funktion ist noch ein Fehler. ' wird zu \' maskiert.
Leider konnte ich den Fehler nicht beheben, da ich durch die Parameter nicht so ganz durchsteige...Könntest du vielleicht ....
-
Uops, ein Schreibfehler:
$string = str_replace("\\'","'",$string);
Da hatte sich ein ; eingeschlichen