Ankündigung

Einklappen
Keine Ankündigung bisher.

Zeilenumbruch \n ???

Einklappen

Neue Werbung 2019

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

  • Zeilenumbruch \n ???

    Moin,

    an sich ist mir die Frage peinlich.
    Aber könnt Ihr mal einem Doofen erklären warum
    PHP-Code:
    <?php
    echo "hello \n";
    echo 
    "string";
      
    ?>
    das
    Code:
    hello string
    ausgibt

    Wo bleibt der Zeilenumbruch?
    Welche Trivialität übersehe ich?


    Danke für alle Antworten.

    Gruß
    Dirk


  • #2
    Die Trivialität, dass der Default Mime Type für PHP-Skripte text/html ist, und in HTML werden Zeilenumbrüche immernoch mit
    gemacht

    Trotzdem willkommen im Forum

    Kommentar


    • #3
      Hallo Zergling,

      Danke für den Willkommensgruß und für die Super-schnelle Antwort.

      Und wie ändert man jetzt den mime-type?

      Entschuldige diese erneute dumme Frage. Aber ich steh immer noch auf dem Schlauch.

      Dirk

      Kommentar


      • #4
        SelfHTML sollte diese Frage mehr als ausreichend erschlagen.


        squig

        Kommentar


        • #5
          Hallo squig,

          SelfHTML habe ich ziemlich intensiv durchgearbeitet.
          Ich weiss daher durchaus was mit mime-type gemeint ist.

          Wenn man in HTML Javascript oder CSS-Blöcke definiert, ist mir auch klar wie ich den mime-type zu setzen habe.

          Aber wie geht dies in php?
          Mit
          PHP-Code:
          <?php <type="application/x-httpd-php"> ???
          doch wohl nicht. Oder?

          Sorry, dass ich mich immer noch ratlos fühle.

          Trotzdem Danke.

          Gruß
          Dirk

          Kommentar


          • #6
            in html ist ein zeilenumbruch im quelltext eben keiner im dokument. ein tab ist kein tab, zwei aufeinanderfolgende leerzeichen nur eines. genau genommen sind alle diese dinge nur ein leerzeichen.
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              in html ist ein zeilenumbruch im quelltext eben keiner im dokument. ein tab ist kein tab, zwei aufeinanderfolgende leerzeichen nur eines. genau genommen sind alle diese dinge nur ein leerzeichen.
              Ja, das ist mir doch alles klar.
              Den Zusammenhang habe ich mittlerweile verstanden.

              Wie bekommt man denn jetzt \n zum laufen.

              Geht das überhaupt?
              Scheint irgendwie eine schwierigere Frage zu sein, als ich dachte.


              Dirk

              Kommentar


              • #8
                Hallo Dirk,

                Du scheinst ja mithilfe von PHP einen HTML - Output generieren zu wollen, bzw. Dynamik in deine statischen HTML - Dokumente zu bringen. Dabei soll nun ein Zeilenumbruch auftreten, richtig?

                Dann ist doch alles klar, Zergling hat schon die richtige Antwort genannt


                Bis dääähne.

                squig


                [edit]Du kannst in der "echo" - Funktion auch HTML - Tags verwenden...[/edit]

                Kommentar


                • #9
                  Hallo squig,

                  das heist also, dass \n was in ALLEN tutorials vorkommt nicht funktioniert.
                  Oder was?

                  Ich dachte der generierte code von php endet IMMER in HTML/XHTML.

                  Dann hätte man auch IMMER das Problem mit dem mime-type.


                  OK - ich ändere die Frage - wozu ist "\n"?

                  Wenn jetzt jemand antwortet "um einen Zeilenumbruch zu erzwingen", dann ...

                  Kommentar


                  • #10
                    "\n" ist dazu da einen Zeilenumbruch zu erzeugen...*wegduckt und auf des gewitter wartet*

                    Aber "\n" muss nicht immer und überall ein Zeilenumbruch sein, sondern ist nur eins von mehreren Zeichen die als Umbruch interpretiert werden können.

                    Unter Unix wird ein "\n" am Ende einer Zeile in einem Textdokument zu einem Umbruch, unter Windows oder MacOS nicht.
                    Dort benutzt man andere Steuerzeichen, siehe hier:
                    http://de.wikipedia.org/wiki/Zeilenumbruch

                    Hast du nun in Deinem HTML - Code ein "\n" wirst du den Umbruch im Browser nicht sehen, aber Du wirst ihn sehen, wenn du dir die HTML - Datei unter Unix mit einem Texteditor anschaust.

                    Somit kannst du 2 Arten von Umbrüchen in HTML haben, "\n" nur sichtbar beim betrachten des nicht interpretierten Quelltextes und "
                    ", sichtbar beim Betrachten des interpretierten HTML - Codes im Browser.

                    Oder red ich hier total an Dir vorbei?


                    *schirm aufspannt*

                    [edit]Hmm, fällt mir eben noch ein, diese Tutorials könnten "\n" natürlich benutzen, um den HTML - Quelltext lesbarer zu gestalten. Also nicht die Formatierung bei der Betrachtung durch den Brwoser, sondern wenn man sich, warum auch immer, den reinen Quelltext anschauen mag. Somit funktioniert das "\n" dort schon, wenn es den so gewollt war.[/edit]

                    Kommentar


                    • #11
                      Hallo squig,

                      vielen Dank für Deine ausführliche Stellungnahme.
                      Schau Dir bitte dies mal an:

                      http://www.php.net/manual/de/languag....syntax.double

                      An sich ist das einfach verständlich.
                      Aber es funktioniert halt nicht - \$, \\, \" etc. aber schon
                      Und von mime-types und dem was du gerade geschrieben hast steht da nirgendwo etwas.

                      Mir ist der Zusammenhang so einfach einfach nicht mehr klar.

                      Dirk

                      Kommentar


                      • #12
                        Ok - ich glaub jetzt hab ichs:



                        \n erzeugt einen Zeilenumbruch im erzeugten HTML-Code - wers braucht??

                        Kann es sein, dass \n ausserdem eine Funktionsauslösende Wirkung hat (so wie ENTER)?
                        DAS wäre ein Sinn denn ich einsehen würde.

                        Kommentar


                        • #13
                          *wave*

                          Nun versteh ich auch, wo "\n" - Problematik herkommt. Man "\n" natürlich mit PHP in einen String schreiben, im HTML wird man den Umbruch nicht sehen, aber in der Logdatei in die man zum Beispiel ja auch schreiben könnte schon.

                          Bin die ganze Zeit davon ausgegangen, dass es nur um die HTML - Ausgabe ging, sry.

                          Von einer "funktionsauslösenden Wirkung" ist mir nichts bekannt.


                          Bis dääähne.

                          squig

                          Kommentar


                          • #14
                            Bin die ganze Zeit davon ausgegangen, dass es nur um die HTMl - Ausgabe ging, sry.
                            Ja, war auch so.
                            Darauf, dass \n nur zur Formatierung des erzeugten HTML-Codes dient, aber nicht den Browser steuert bin ich einfach nicht gekommen.

                            Diese Ebene hatte ich gedanklich ausgeblendet. Es hätte z.B. auch sein können, dass php aus \n ein
                            produziert.
                            Es wird natürlich alles klar, wenn man sich aus dem Brwoser heraus den HTML-Code ansieht.
                            Ein entsprechender Kommentar in der Escape-tabelle wäre für Anfänger sicherlich hilfreich.

                            OK - ich denke, ich habe an dieser Stelle tatsächlich etwas über php gelernt.

                            Und DAS ist doch der Sinn dieses Forumsbereiches. Oder?
                            Herzlichen Dank

                            Und Tschüss

                            Kommentar


                            • #15
                              Ja das ist eine Schwierigkeit, die viele am Anfang bei PHP nicht verstehen. PHP erzeugt eigentlich nur Text*. Für was man ihn einsetzt bleibt jedem selbst überlassen.

                              Dass ein Zeilenumbruch in HTML rein der Formatierung zweckdient bzw. gern mit
                              verwechselt wird ist ja nicht schlimm. Erfahrungsgemäß ist es aber effektiver, sich zuerst intensiv mit HTML zu beschäftigen, bevor man sich an PHP ranwagt

                              * meistens Text, man kann natürlich auch Binärcode zB den von Bildern damit erzeugen

                              Kommentar

                              Lädt...
                              X