Marco: HMTL-Quellcode soll nicht in einer Zeile stehen

Hallo!

Ich habe mein PHP-Projekt so weit beendet, und möchte nun ein paar "Schönheitskorrekturen" vornehmen.

Bei der Erzeugung des HTML-Codes durch PHP werden, wenn man sich die Quellcode-Seite anschaut, (fast) alle Tabellen ein einer Zeile geschrieben.
Auf der eigentlichen Seite sieht das ja Top aus, aber wenn man sich den HTML-Quellcode anschaut, blickt da keiner durch.

Folgendes:

Schreibe ich im PHP-Code:

echo '<td>1. BlaBlaBla</td>
      <td>2. BlaBla</td>';

Wird das im HTML-Quellcode auch in zwei Zeilen dargestellt. So wie ich es gerne hätte.

Habe ich aber nun z.B:

echo '<td>Hallo Welt</td>';
if (irgendwas)
   echo '<td>noch mehr bla</td>';

In diesem Fall wird alles im HTML-Quellcode in einer Zeile ausgegeben, und da ich recht umfangraiche Tabellen darstelle, ist das Ganze dann sehr unübersichtlich.

Was für eine Lösung (wenn überhaupt) gibt es da?
Danke schonmal!

  1. Hello out there!

    […] ist das Ganze dann sehr unübersichtlich.
    Was für eine Lösung (wenn überhaupt) gibt es da?

    '\n' für Zeilenumbruch,
    '\t' für Tabulator (Einrückung).

    See ya up the road,
    Gunnar

    --
    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
    1. Hallo,

      '\n' für Zeilenumbruch,
      '\t' für Tabulator (Einrückung).

      muss es nicht "\n" bzw "\t" lauten?
      wenn ich mich recht erinnere wird bei '\n' die Zeichenkette \n ausgegeben

      mfg
      Twilo

      1. Hallo Twilo,

        muss es nicht "\n" bzw "\t" lauten?
        wenn ich mich recht erinnere wird bei '\n' die Zeichenkette \n ausgegeben

        Nein, das ist bei Variablen so. Unter Windoof-Systemen heißt wird ein Zeilenumbruch übrigens mit '\r\n' escaped (Wagenrücklauf + Newline).

        Beste Grüße
        Richard

        1. Hallo,

          muss es nicht "\n" bzw "\t" lauten?
          wenn ich mich recht erinnere wird bei '\n' die Zeichenkette \n ausgegeben

          Nein, das ist bei Variablen so. Unter Windoof-Systemen heißt wird ein Zeilenumbruch übrigens mit '\r\n' escaped (Wagenrücklauf + Newline).

          <?php  
          print '\n';  
          print '\n\n\n';  
          ?>
          

          ergibt bei mir folgende Ausgabe
          \n\n\n\n

          unter Debian 3.1 mit den Apachen 1.3.37 und php 5.1.4 mit cgiwrap

          mfg
          Twilo

          1. Hallo

            <?php

            print '\n';
            print '\n\n\n';
            ?>

            
            > ergibt bei mir folgende Ausgabe  
            > \n\n\n\n  
            >   
            > unter Debian 3.1 mit den Apachen 1.3.37 und php 5.1.4 mit cgiwrap  
              
            Nicht nur dort. Wenn mit Hochkommata gearbeitet wird, muss der Backslash maskiert werden '\\n', wenn man die Anführungszeichen ([shift]+[2]) zur Begrenzung von Zeichenketten benutzt, stimmt Gunnars Angabe "\n".  
              
            Tschö, Auge  
            
            -- 
            Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.  
            (Victor Hugo)  
              
            [Veranstaltungsdatenbank Vdb 0.1](http://termindbase.auge8472.de/)
            
      2. muss es nicht "\n" bzw "\t" lauten?
        wenn ich mich recht erinnere wird bei '\n' die Zeichenkette \n ausgegeben

        Genau so ist es. Ich benutze wg. "strict-html" halt immmer diese ''
        Deswegen passt diese Lösung bei mir halt nicht :(

        1. Hello out there!

          Genau so ist es. Ich benutze wg. "strict-html" halt immmer diese ''

          ?? Was haben einfache/doppelte Anführungszeichen mit "strict-html" zu tun?

          See ya up the road,
          Gunnar

          --
          “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
          1. ?? Was haben einfache/doppelte Anführungszeichen mit "strict-html" zu tun?

            Es ist ein Unterschied ob dort
            echo '<form name="irgendwas" method="post">'; <--strict
            oder
            echo "<form name=irgendwas method=post>"; <--loose
            oder auch
            echo "<form name='irgendwas' method='post'>"; <-- k.a. ;-)
            steht.

            So hat man es mir beigebracht ;-)

            1. Hallo Marco.

              ?? Was haben einfache/doppelte Anführungszeichen mit "strict-html" zu tun?

              Es ist ein Unterschied ob dort
              echo '<form name="irgendwas" method="post">'; <--strict
              oder
              echo "<form name=irgendwas method=post>"; <--loose
              oder auch
              echo "<form name='irgendwas' method='post'>"; <-- k.a. ;-)
              steht.

              So hat man es mir beigebracht ;-)

              Man hat dir nur Halbwahrheiten beigebracht. Ob nun „'“ oder „"“ ist für die Notation von Attributwerten egal.

              Und nebenbei gibt es auch noch eine Alternative: Heredoc.

              Einen schönen Samstag noch.

              Gruß, Ashura

              --
              sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
              „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
              [HTML Design Constraints: Logical Markup]
            2. Hello out there!

              echo '<form name="irgendwas" method="post">'; <--strict
              echo "<form name=irgendwas method=post>"; <--loose

              Nein, da verwechselst du was.

              <form name=irgendwas method=post>

              ist sowohl valides HTML 4.01 Transitional als auch valides HTML 4.01 Strict. Unter bestimten Umständen darf man die Anführungszeichen um Attributwerte weglassen; sollte dies aber nicht tun. [HTML401 §3.2.2]

              Es ist aber weder valides XHTML 1.0 Transitional noch valides XHTML 1.0 Strict, denn in XML darf man das nicht.

              echo "<form name='irgendwas' method='post'>"; <-- k.a. ;-)

              Natürlich geht das. Aber auch das:

              echo "[code lang=html]<form name=\"irgendwas\" method=\"post\">";[/code]

              See ya up the road,
              Gunnar

              --
              “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
        2. Hi,

          Genau so ist es. Ich benutze wg. "strict-html" halt immmer diese ''
          Deswegen passt diese Lösung bei mir halt nicht :(

          ich schließe mich der Frage von Gunnar an...

          Abgesehen davon hast Du noch die Möglichkeit, entweder ."\n" an die Ausgabe zu hängen oder - wie ich es bevorzuge, für den Zeilenumbruch eine Variable zu definieren: $cr=chr(13).chr(10);

          freundliche Grüße
          Ingo