textarea
-
hallo,
wenn ich in meiner textarea einen text mit anfuehrungszeichen eingebe und diesen dann mit einer einfach print funktion im php script ausgebe, sind die zeichen immer escaped (\"der text\").
wie schaffe ich es, dass ich die anfuehrungszeichen normal ausgebe?
-
strip_tags()
-
Ähmm... Nein.
Du brauchst http://de2.php.net/str_replace
-
Sorry, hatte mich in aller Eile verschrieben: Ich meinte natürlich nicht nicht strip_tags() sondern stripslashes()
Dasd schrieb:
Ähmm... Nein.
Du brauchst http://de2.php.net/str_replace
Empfehl im doch gleich preg_replace(), wenn du schon mit Kanonen auf Spatzen schießen willst
@Moh
Das Problem dürfte wohl an aktiven MagicQuotes liegen. Deaktivier die mal, dann sparst du dir das ewige "unescapen".
-
Reyx schrieb:
Empfehl im doch gleich preg_replace(), wenn du schon mit Kanonen auf Spatzen schießen willst
Schon wahr. Andererseits sollten aber auch nur die Anführungsstriche normal erscheinen und nicht alle Slashes entfernt werden. Zudem kann er mit
$new = str_replace("\\\"", """, $old);
gleich die korrekten HTML-Entsprechungen des Zeichens nutzen.
-
Dasd schrieb:
Andererseits sollten aber auch nur die Anführungsstriche normal erscheinen und nicht alle Slashes entfernt werden.
Bei den MagicQuotes wird der gesamte String escaped, einschl. der Slashes. Und da die dann auch doppelt sind passt passt das stripslashes() wieder. Demnach würde ich wieder auf meine Empfehlung kommen, die MagicQuotes-Runtime einfach zu deaktivieren, dann geht man auf Nummer sicher
Dasd schrieb:
gleich die korrekten HTML-Entsprechungen des Zeichens nutzen.
Da würde ich dann aber doch eher htmlentities() vorschlagen
Außerdem kann es ja sein, dass der Input-String HTML enthalten soll, dann würde ich das lieber lassen!