PROBLEM: Zeilenumbrüche von Textareafeldern sollen verändert werden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PROBLEM: Zeilenumbrüche von Textareafeldern sollen verändert werden

    Guten Abend,

    Das Problem ist folgendes: In einem Textarea-Feld sollen User einen kleinen Text hinein schreiben (dazu gehören auch Zeilenumbrüche). Anschließend soll dieser Text in einer MySQL-Datenbank gespeichert werden. Der in der Datenbank gespeicherte String muss eine besondere Form aufweisen
    1. Es darf keine Zeilenbrüche mehr aufweisen und
    2. sollen die Zeilenumbrüche die vom User eingefügt wurden durch /n gekennzeichnet werden

    Wie kann ich das realisieren??? ... Mit dem Befehl eregi_replace() bin ich nicht weiter gekommen, weil in der Datenbank immernoch ein Zeilenumbruch vorhanden war. Habe ich irgendwas falsch gemacht???

    LG, bambus

  • #2
    hi

    wie speicherst du denn so einen eintrag, durch was für funktionen lässt du den eintrag durchlaufen ?
    4cms.de

    Kommentar


    • #3
      Grundlegend ist das Programm wie folgt aufgebaut:
      PHP-Code:
      <textarea name="beschreibung">beispiel
      beispiel
      beispel
      </textarea
      Nach Absenden des Formulars erhalte ich die Variable $beschreibung.
      PHP-Code:
      $beschreibung=eregi_replace("\n","\\\\n",$beschreibung);

      $beschreibung=strip_tags($beschreibung,"<BR>,<U>,</U>,<u>,</u>,<B>,</B>,<b>,</b>,<I>,
      </I>,<i>,</i>,<S>,</S>,<s>,</s>,<BIG>,</BIG>,<big>,</big>,<SMALL>
      ,</SMALL>,<small>,</small>,<SUP>,</SUP>,<sup>,</sup>,<SUB>,
      </SUB>,<sub>,</sub>,<TT>,</TT>,<tt>,</tt>"
      );

      include(
      "dbconnect.php");
      mysql_query("insert into __pois(poi_beschreibung) values ('$poi_beschreibung')"); 
      In der Datenbank ist die Beschreibung in Form von:
      beispiel
      beispiel
      beispiel
      gespeichert.

      Das Ziel ist es aber die Zeilenumbrüche umzuwandeln in \n, also in Form von:
      beispiel \nbeispie \nbeispiel

      Hoffe ihr könnt mir dabei weiter helfen.

      Sven
      Zuletzt geändert von bambus; 16.06.2007, 16:05.

      Kommentar


      • #4
        mahlzeit 1600x1200 user

        lass den Eintrag möglichst im Originalzustand und verwende

        $beschreibung = mysql-real-escape-string($beschreibung);

        erst bei der Ausgabe bestimmst du, was umgewandelt/ersetzt wird.
        so wurde mir das hier immer wieder gepredigt und.... ja, die Jungens hatten recht
        4cms.de

        Kommentar


        • #5
          Hi,

          Irgendwie wirkt dieser Befehl nicht ganz so wie ich mir erhofft habe^^.

          Vlt habe ich da irgendwie ein Denkfehler.
          PHP-Code:
          $link=mysql_connect("bsp""bsp""bsp") or die ("Konnte keine Verbindung zur Datenbank aufbauen!");

          mysql_select_db("bsp") or die ("Konnte Datenbank nicht selektieren!");

          $query sprintf("insert into __pois(poi_name, poi_art, www, strasse, plz, 
          ort, telefon, email, poi_beschreibung, rechtswert, hochwert, erfasser, 
          aenderer, erfassungs_datum, aender_datum, freigeschaltet, bild, 
          bild_quelle) values 
          ('
          $poi_name', '$kategorie', '$internet', '$strasse', '$plz', '$ort', '$telefon', 
          '
          $email', '%s', '$werte[1]', '$werte
          [0]', '
          $kennwort', '', '$zeit', '', '0', '', '')",mysql_real_escape_string
          ($poi_beschreibung$link));

          mysql_query($query$link); 
          Das Programm zeigt keine Fehler an => also muss der Syntax richtig sein.
          Nur hat sich die Form in die $poi_beschreibung gespeichert wird nicht geändert.
          In der Datenbank wird es immer noch wie folgt angezeigt:
          beispiel
          beispiel
          beispiel

          Muss ich nicht noch bevor ich die Variable in der Datenbank speicher den String vom Textarea bearbeiten??? ... Gibt es nicht so ein Befehl der die automatischen Zeilenumbrüche im Textarea in <br> oder \n umwandelt???
          Zuletzt geändert von bambus; 16.06.2007, 16:06.

          Kommentar


          • #6
            brich deinen code um.

            Kommentar


            • #7
              Was passiert eigentlich im String, wenn der User in einem Textarea-Feld auf Enter drückt? ... Wird dabei automatisch an den Zeilenumbrüchen das Zeichen \n gesetzt?

              Kommentar


              • #8
                \n (oder \r\n) ist der zeilenumbruch.

                Kommentar

                Lädt...
                X