Steuerzeichen aus MySqlDatenbank in <br> umwandeln

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

  • Steuerzeichen aus MySqlDatenbank in <br> umwandeln

    Hallo zusammen,

    Ich habe mich als PhP-Anfänger an einem Forum versucht und es hat wunderbar funktioniert. In Tabellen darstellen, aus einem Formular Eiträge übergeben in eine MySql-Datenbank eintragen, alles Klasse!!

    Nur eine kleinigkeit habe ich, nach der ich fragen möchte, weil ich im MyPhP nichts dazu gefunden habe und auch google sich bis jetzt ausschweigt.

    Ich trage den text des Beitrags in der MySql Datenbank in ein Feld, daß als 'text' deklariert ist ein. Die Zeilenumbrüche sind, wenn ich mir den Datensatz mit MySqlCC anschaue mit einem Steuerzeichen angegeben. welches kann ich nciht genau sagen, da ich nur ein Rechteck, das hochkant steht sehe.
    Weiß jemand von Euch, um welches Steuerzeichen es sich handelt und wie ich es am besten ausfindig mache?

    Gruß, David

  • #2
    Das ist doch nicht wirklich wichtig für nen Umbruch. Dafür gibts doch ne fertige Funktion.

    EDIT:
    Bitteschön!
    Zuletzt geändert von TobiaZ; 15.08.2003, 10:42.

    Kommentar


    • #3
      Das Rechteck ist kein spezielles steuerungszeichen, das wird eingesetzt sobald es für den Wert kein Zeichen gibt... Vermutlich handelt es sich jedoch bei dir um einen stinknormalen Zeilenumbruch, also:
      chr(13).chr(10)

      EDIT:

      Vermutlich ihn selber, weil er es mir "<br>" ersetzen will oder aus irgendeinem anderen grund, insofern könntest du ruhig mal was netter antworten!!, ich errinnere mich da an einen Thread von Hand, er hies
      Rauer Ton Im Forum

      und du kannst wirklich nicht sagen das die Fragestellung hier durch suchen etc. hätte gelöst werden können!

      Zuletzt geändert von Tartax; 15.08.2003, 10:24.
      Die Musikreview Seite

      hi, i'm a signature virus. copy me into your signature to help me spread.

      Kommentar


      • #4
        Mich vielleicht?
        Ich frage den Text aus der MySql - Datenbank ab und es steht alles in einer Zeile.
        Das finde ich nicht so spannend und würde die abgesendeten Beiträge schon gerne so abbilden können, wie sie eingegeben wurden.

        ist es ein cr oder ein lf oder sogar ein crlf?

        umwandeln kann ich es schon alleine!
        Danke, David

        Kommentar


        • #5
          Danke Tartax für deine Antwort

          Ich könnte die Stelle dann quasi mit

          PHP-Code:
          $Zeilenumbruch strpos($text,chr(10)); 
          oder
          PHP-Code:
          $Zeilenumbruch strpos($text,chr(13)); 
          ausfindig machen?

          Gruß, David

          Kommentar


          • #6
            wie sieht das zeichen denn aus wenn dus im Browser anschaust?? wie wärs wenn du das einfach aus dem Browser rauskopierst, und in den code einfügst:
            str_replace("RauskopiertesZeichen","<br>",$string);



            oder geht das so nicht??


            EDIT:

            Kann das mal bitte einer löschen!?

            Zuletzt geändert von Tartax; 15.08.2003, 10:38.
            Die Musikreview Seite

            hi, i'm a signature virus. copy me into your signature to help me spread.

            Kommentar


            • #7
              das war so böse nicht gemeint.

              ich denke nur, dass ein einfacher nl2br() hier reicht, bevor hier wieder große workarounds gebastelt werden.

              Kommentar


              • #8
                wie sieht das zeichen denn aus wenn dus im Browser anschaust?? wie wärs wenn du das einfach aus dem Browser rauskopierst, und in den code einfügst:
                str_replace("RauskopiertesZeichen","<br>",$string);


                oder geht das so nicht??


                EDIT:

                Sicher daß es ein zeilenumbruch mit chr(13) und chr(10) ist bin ich mir nicht, du würdest es daran erkennen wie die stellen im html-quelcode aussehen, wenn es da zeilenumbüche sindt ist es ein zeilenumbruch!!
                Aber warum denn strpos()?? ist doch egal wo's ist, benutz doch einfach str_replace()

                Die Musikreview Seite

                hi, i'm a signature virus. copy me into your signature to help me spread.

                Kommentar


                • #9
                  Danke Tartax und TobiaZ Für Eure Hilfe,
                  ich kann leider keine von Euren Lösungsvorschlägen vor heute Abend implementieren, weil ich im Moment auf der Arbeit bin.
                  Ich werde es aber heute Abend gleich versuchen.
                  @Tartax: Danke dafür, daß du oben eingesprungen bist!!
                  @ TobiaZ: Der Herr hat sich doch herunter gelassen einem Menschen zu helfen, der sich erst seit 2 Wochen mit PhP beschäftigt! WoW!
                  Was mich ganz ernsthaft interessieren würde ist, was hat dich so sehr gestört an der Aussage?

                  Gruß, David

                  Kommentar


                  • #10
                    Im Browser selber war nur ein Leerzeichen zu sehen und im Quellcode habe ich leider nicht nachgesehen.
                    Wenn es noch Probleme gibt, werde ich allerdings Morgen hier noch etwas posten.

                    Gruß, David

                    Kommentar


                    • #11
                      mich hat an keiner aussage etwas gestört.

                      ich wollte nur verhindern, dass hier schon wieder ein riesen Code für nichts und wieder nichts gebastelt wird. das wäre heute morgen nicht das erste mal gewesen.

                      Kommentar


                      • #12
                        Also, es funktioniert jetzt alles!!

                        Ich habe jetzt nur noch ein weiteres Problem!
                        Ich möchte gerade meine Datenbank im Internet so einrichten, daß ich das Forum im Netz nutzen kann.
                        Die Datentypen der Felder habe ich genauso eingestellt, wie lokal und er wirft mir immernoch Feler raus! Woran kann das liegen?
                        Hier einmal die Insertanweisung
                        PHP-Code:
                        CREATE TABLE `pausenraum` (

                        `
                        indexBIGINTNOT NULL AUTO_INCREMENT ,
                        `
                        familyBIGINTNOT NULL ,
                        `
                        f_indexBIGINTNOT NULL ,
                        `
                        titleVARCHAR100 ) ,
                        `
                        textVARCHAR100 NOT NULL ,
                        `
                        nameVARCHAR25 NOT NULL ,
                        `
                        vornameVARCHAR20 ) ,
                        `
                        emailVARCHAR100 ) ,
                        `
                        pageVARCHAR100 ) ,
                        `
                        creation DateDATE100 ) DEFAULT '0000-00-00' NOT NULL ,
                        `
                        icqINT) ,
                        PRIMARY KEY ( `index` ) 
                        TYPE MYISAM 
                        MySQL meldet:

                        You have an error in your SQL syntax near '(100) DEFAULT '0000-00-00' NOT NULL, `icq` INT(9), PRIMARY KEY (`index`)) TYPE =' at line 1

                        Vielen Dank!!


                        Gruß, David

                        Kommentar


                        • #13
                          hast du das dump aus deiner offline-tabelle gezogen?

                          BTW: welche Lösung hast du für das erste Prob genutz?

                          Kommentar


                          • #14
                            Hmm ich bin ja wie gesagt neuling/noob, deshalb wüßte ich nicht, wie ich einen Dump einspiele.

                            Für das erste Prob habe ich nl2br benutzt.
                            Funzt super, danke nochmals an Euch!

                            Gruß, David

                            Kommentar


                            • #15
                              ich würde vorschlagen,
                              1.) du vermeidest leerzeichen in feldnamen, wenn du es trennen willst, nimm nen "_".
                              2.) date(100) => 100 zeichen im datumsfeld => wie weit bist du deiner zeit voraus
                              schau mal ins manual http://www.mysql.de/doc/de/Column_types.html
                              Kissolino.com

                              Kommentar

                              Lädt...
                              X