voody: Wie bekomme ich dieses /" wieder weg?

Hi,

ich hab da ein kleines Problem.
Ich lese mit PHP aus meiner MySQL DB einen Text und den der es geschrieben hat aus. Beide Felder wurden vor dem eintragen mit:

$zi_n = htmlentities($zi_n);
$au_n = htmlentities($au_n);
$zi_n = ereg_replace("\n", "<br>", $zi_n);
$zi_n = ereg_replace("\r", "\n", $zi_n);
$au_n = ereg_replace("\n", "<br>", $au_n);
$au_n = ereg_replace("\r", "\n", $au_n);

für die spätere Ausgabe in "Form" gebracht.

Ich möchte diese Felder ergänzen, möchte aber verhindern das der alte Text verändert wird. Für diesen
Zweck frage ich die jeweilige Zeile ab, gebe Text und Autor aus und
schreibe gleichzeitig in ein Formular dies:

echo "<input type="hidden" name="zi_n" value="$zi_n">\n";
echo "<input type="hidden" name="au_n" value="$au_n">\n";

Jetzt zum eigentlichen Problem. Nach der Übergabe werde alle "
(") so dargestellt zu " ("). Wie bekomme ich diese \ wieser weg? Hab jetzt schon einiges versucht, aber bekomme es nicht hin. Ich weis auch erlich nicht wo sie herkommen. Nach der Abfrage sind sie noch nicht da. Werden sie bei der Übergabe des Formulars (mit Post und Get das selbe Ergebniss) eingefügt?

Ich bedanke mich schon mal und wünsche noch einen schönen Abend.

voody

  1. Hi,

    (") so dargestellt zu " ("). Wie bekomme ich diese \ wieser weg? Hab jetzt schon einiges versucht, aber bekomme es nicht hin. Ich weis auch erlich nicht wo sie herkommen. Nach der Abfrage sind sie noch nicht da. Werden sie bei der Übergabe des Formulars (mit Post und Get das selbe Ergebniss) eingefügt?

    Schau mal auf http://www.selfphp3.de/funktionsreferenz/string_funktionen/stripslashes.php.

    Gruß Andreas

  2. Hi,

    Moin!

    Ich lese mit PHP aus meiner MySQL DB einen Text und den der es geschrieben hat aus. Beide Felder wurden vor dem eintragen mit:

    $zi_n = htmlentities($zi_n);
    $au_n = htmlentities($au_n);
    $zi_n = ereg_replace("\n", "<br>", $zi_n);
    $zi_n = ereg_replace("\r", "\n", $zi_n);
    $au_n = ereg_replace("\n", "<br>", $au_n);
    $au_n = ereg_replace("\r", "\n", $au_n);

    für die spätere Ausgabe in "Form" gebracht.

    Diese Vorgehensweise halte ich für ungünstig. Es ist besser, wenn du erstmal die unformatierten Texte in die Datenbank schreibst. Das umcodieren kannst du dann immer noch erledigen, wenn du HTML oder etwas anderes ausgeben willst, jeweils orientiert an den jeweiligen Bedürfnissen. Eine Textarea braucht z.B. die "\n" im Text, keine "<br>". (Und ein kleiner Hinweis: Zum Umformen davon gibts die Funktion nl2br.)

    - Sven Rautenberg

    1. Nochmal Hi;

      Diese Vorgehensweise halte ich für ungünstig. Es ist besser, wenn du erstmal die unformatierten Texte in die Datenbank schreibst. Das umcodieren kannst du dann immer noch erledigen, wenn du HTML oder etwas anderes ausgeben willst, jeweils orientiert an den jeweiligen Bedürfnissen. Eine Textarea braucht z.B. die "\n" im Text, keine "<br>". (Und ein kleiner Hinweis: Zum Umformen davon gibts die Funktion nl2br.)

      Ich werd es erst mal mit dem Tipp von Andreas machen, mir deinen aber für die Zukunft mal im Hinterkopf behalten. Er ist ja bestimmt auch der bessere Weg. Nur habe ich nicht mehr all zuviel Zeit um jetzt alles umzuschreiben und die DB zu editieren. Danke für die Tipps und schönen Abend.

      Voody