nl2br local und server unterschiedliche <br>

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

  • nl2br local und server unterschiedliche <br>

    hi,
    habe folgendes Problem:
    wenn ich mit nl2br einen text aus der DB hole werden mir local und auf dem Server unterschiedliche <br> 's gesetzt und ich habe nicht die leiseste Ahnung woran das liegen könnte - hat einer einen Tip woran das liegen könnte....

    THX in advance
    "I don't want to belong to any club that would accept me as a member."

    Groucho Marx

  • #2
    nl2br() is now XHTML compliant. All older versions will return string with '<br>' inserted before newlines instead of '<br />'.
    Aus: http://de3.php.net/manual/en/function.nl2br.php
    Wir werden alle sterben

    Kommentar


    • #3
      sorry habe mich falsch ausgedrückt - auf dem server werden MEHR <br> gesetzt als local .....
      auch wenn ich local von meinem Schleppi auf die Server DB zugreife...
      Zuletzt geändert von mcmurphy; 28.12.2007, 22:02.
      "I don't want to belong to any club that would accept me as a member."

      Groucho Marx

      Kommentar


      • #4
        Ja dann, werden die Zeilenumbrüche wohl vorher schon in die DB reingeschrieben. Und der kleine nl2br() ist schuldlos. Aber woher die kommen....
        Wir werden alle sterben

        Kommentar


        • #5
          nein, das gleiche Script verhält sich lokal und aufm Server anders, - auf dem Server werden mehr (aber nicht doppelt so viel) <br> gesetzt.....
          Greife ich local auf meine Server DB zu stimmt alles...
          mache einen normalen select und gebe dann mit
          PHP-Code:
          function getProduktInfo(){
                      return 
          nl2br($this->produkt['info']);

          denn Text aus produkt['info'] aus....
          "I don't want to belong to any club that would accept me as a member."

          Groucho Marx

          Kommentar


          • #6
            PHP-Code:
            <?php
            phpversion
            () . "<br />";
            $text das_was_aus_der_db_kommt();
            echo 
            str_replace("\n"'\n'str_replace("\r"'\r'$text));
            mal auf beiden Servern ausführen und vergleichen

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              Schon mal THX....
              php Version Server: 4.4.7 MySQL 4.0.23
              php Version local: 5.2.3 MySQL-Client-Version: 5.0.45
              aber ich greife local von meinem Laptop auf meine Server DB zu, die unterschiedlichen PHP Versionen müssten (mit betonung auf müsste) ja egal sein
              hier ein (relevanter) Auschnitt aus Ghostgamblers Code:
              Ergebnis DB Server:
              ...Doppelrutsche AH +95 \r\n\r\ncm\r\n\r\nauch in Rundholz ....
              Ergebnis DB local:
              ...Doppelrutsche AH +95 cm\r\n\r\nauch in Rundholz...
              kann ja nur an der MySql version liegen...
              Bin aber dennoch perlex - ansonsten verhält sich das Script gleich und warum werden unterschiedliche Zeilenumbrüche gesetzt - vor allem wie umgehe ich das Problem?
              In diesem Fall kann es mir (fast) egal sein - habe ein bestehendes Script überarbeitet (wurde auch mit php 4.x.x. erstellt), die bestehende DB exportiert, komplett local (also auch die DB local) bearbeitet und dann zum testen auf meinen Server übertragen - da ist mir das dann mit den Zeilenumbrüchen aufgefallen.
              Auf dem Ursprungs server sieht alles schick aus
              "I don't want to belong to any club that would accept me as a member."

              Groucho Marx

              Kommentar


              • #8
                hast du die werte mal direkt in der datenbank verglichen?

                mysql 4 entfernt bei varchar-feldern die leerzeichen (schätzungsweise auch zeilenumbrüche) am ende, mysql 5 behält sie bei. das könnte zumindest die ursache sein.

                Kommentar


                • #9
                  das betreffende Feld ist vom Typ Text
                  hast du die werte mal direkt in der datenbank verglichen?
                  nur per Ausgabe bzw. in MySqlAdmin - was meinst du denn?

                  mysql 4 entfernt bei varchar-feldern die leerzeichen (schätzungsweise auch zeilenumbrüche) am ende,
                  das Phänomen tritt mitten im Text auf, finde auch (bisher) keine regelmäßig keit ala immer in 'xyz' oder immer nach 2-stelliger Zahl.

                  Wie gesagt, in meinem jetzigen Projekt ist es nicht SOOO schlimm, wüßte nur gerne den Grund für das Phänomen...
                  "I don't want to belong to any club that would accept me as a member."

                  Groucho Marx

                  Kommentar


                  • #10
                    Also es sind 2 Datenbank-Server?
                    Dann ist scheinbar einfach der Datenbestand ein anderer.

                    Du solltest dann lieber gucken, warum die Daten unterschiedlich in die Datenbank eingetragen werden.

                    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                    Wie man Fragen richtig stellt

                    Kommentar


                    • #11
                      Original geschrieben von mcmurphy
                      nur per Ausgabe bzw. in MySqlAdmin - was meinst du denn?
                      ich hätte von beiden dbs einen dump gezogen und mit einem diff-tool mir die unterschiede anzeigen lassen. ultraedit macht sich dazu ganz gut.

                      Kommentar

                      Lädt...
                      X