echo gibt anders aus als dann in DB steht

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

  • echo gibt anders aus als dann in DB steht

    Hi!

    Folgendes Prob:
    Ich muss für eine PHP>Flash-Schnittstelle Daten über ein CMS in eine MySQL-DB eintragen. So.

    Nun geb ich z.B. ein
    -----
    text

    text
    text
    -----

    Wenn ich die Query printe (echo (update db....)), dann kommt da raus
    PHP-Code:
    text<br><br>text<br>text 
    So will ich das auch in der DB stehen haben!


    Wenn ich aber den DB-Eintrag (mysql_query(update db...)) vornehme, dann steht in der DB
    PHP-Code:
    text&lt;br&gt;&lt;br&gt;text&lt;br&gt;text 
    Frage: Wie kann ich es bewerkstelligen, daß Text mit br's in die DB geschrieben wird?

    Danke für etwaige Tipps ;-)

    LG

  • #2
    also ganz spontan würde ich sagen, du schreibst den Text eben über <textarea></textarea> und lässt den dann ganz einfach in die DB schreiben. Und wenn du ihn aus der DB geholt hast lässt du ihn dir mit nl2br ausgeben.

    Achte dann aber evntl auch auf
    $msg = str_replace("<","&lt;",$msg);
    $msg = str_replace(">","&gt;",$msg);
    usw


    cya CrazyPip

    Kommentar


    • #3
      Re: echo gibt anders aus als dann in DB steht

      Original geschrieben von Citral
      Wenn ich die Query printe (echo (update db....)), dann kommt da raus
      PHP-Code:
      text<br><br>text<br>text 
      Schau dir mal den Quelltext der Seite an, die du da betrachtest.

      Kommentar


      • #4
        Danke mal für euer Feedback.

        Ich spiel mich da eh schon seit Tagen aber das Prob ist, daß aus der php-Datei, die die Daten aus der DB holt, ein XML-File generiert wird - und in diesem wird der gesamte Seiteninhalt am Ende des Scripts utf8_encode(et). Und wenn ich per preg_replace umwandle, dann funkt das xml-Script nicht mehr.

        Normalerweise weiß ich sehr wohl, wie ich mit nl2br, stripslashes & co umgehen muss. Aber der einzige Weg, wie dieses Script (dann in Flash) ordnungsgemäß funktioniert ist, alle br's und bolds usw. OHNE reale Zeilenschaltungen in die DB zu schreiben, sprich:

        Ich BRAUCHE es in der DB so:
        PHP-Code:
        text<br><br>text<br>text 
        Hoffe, ich hab mich halbwegs verständlich ausgedrückt

        Kommentar


        • #5
          Re: Re: echo gibt anders aus als dann in DB steht

          Original geschrieben von onemorenerd
          Schau dir mal den Quelltext der Seite an, die du da betrachtest.
          Oups... ja, stimmt - du hast recht...
          Hmmm... das heißt dann wohl, daß dieses UTF-8-Encoding mir da irgendwie reinpfuscht. Ich weiß aber wie gesagt daß es funktioniert, wenn die br's in der DB drinstehen. Bitte bitte einen Hint, wie ich das bewerkstelligen kann - ich seh den Wald vor lauter Bäumen nicht mehr...

          Danke schon mal.

          Kommentar


          • #6
            Du sagtest eingangs, dass du diese Daten über ein CMS eingibst - dieses CMS ersetzt wohl alle Zeilenumbrüche ("\n" oder "\r\n") durch "&lt;br&gt;" ... wahrscheinlich mit htmlentities(nl2br($eingabe)).

            Kommentar


            • #7
              Peinlich... Hatte einfach nur einen Denkfehler.
              Ich hab die Ausgabe per echo falsch interpretiert - denn es wurde richtig ausgegeben, wenn es der IE auch richtig angezeigt hat! Also war der Tipp "schau mal in den Quelltext" goldrichtig

              Vielen Dank!
              LG

              Kommentar

              Lädt...
              X