Jede Zeile durchlaufen?

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

  • Jede Zeile durchlaufen?

    Hallo,

    ich habe schon bei Google und Konsorten gesucht, aber finde nichts, was mich weiterbringen könnte...

    Folgende Situation:

    Ich habe eine MySQL-Datenbank, darin eine Tabelle und "Blubb". Letzlich lese ich mit PHP ein Feld aus, dass den Typ "Text" hat. Folgendes steht z.B. darin (und zwar genau so):

    Zeile 1
    Zeile 2
    Zeile 3
    Noch eine Zeile
    und noch eine Zeile

    Wie ich das Feld mit PHP auslesen und -geben kann, weiß ich. Mir geht es aber darum, dass PHP jede einzelne Zeile einzeln ausgeben soll.

    Also in etwa so:
    PHP-Code:
    $str = [MySQL-Rückgabe des "Textes" bzwmehrzeiligen (!) Strings]
    for 
    each (line in $str as $line_nr)
    {
      echo 
    $str[$line_nr];

    Ich hoffe, ich hab es einigermaßen verständlich gemacht, was ich will. Aber ich hab es einfach noch nicht hinbekommen...

    Have fun,
    MCXSC

  • #2
    Schau dir mal die while()-Schleife an.

    Kommentar


    • #3
      Original geschrieben von pascal007
      Schau dir mal die while()-Schleife an.
      Die while()-Schleife kenne ich, das "for each" war nur ein Beispiel, was ich will.^^

      Mein größtes Problem ist aber, dass ich weder rausbekommen habe, wieviele Zeilen der String hat, noch wie ich direkt auf z.B. Zeile 3 zugreifen kann.

      Kommentar


      • #4
        Ahso, jetzt habe ich verstanden, was du willst.

        Dann muss ich mir das auch überlegen.

        EDIT: so, ich habe es geschafft. Ob es wirklich sauber ist, ist die zweite Frage :

        PHP-Code:
        <?php

        $text 
        "Hier habe ich einen text,
        der hat auch viele Zeilen,
        wie man sehen kann.
        Ich versuche diesen Text nun,
        zu trennen."
        ;

        $trenntext explode("\n",$text); // Den Text bei neuer Zeile trennen

        echo "Es sind ".count($trenntext)." Zeilen"// Anzahl Zeilen ausgeben
        echo "<br /><br />Das hier ist die Zeile 2: ".$trenntext[1]."<br /><br />"// 2. Zeile ausgeben

        // Kompletter Text mit Zeilenumbrüchen ausgeben (for-Schleife)
        for($i=0$i<=count($trenntext); $i++)
        {
            echo 
        $trenntext[$i]."<br />";
        }

        ?>
        Die for-Schleife macht zwar absolut kein Sinn... aber ist auch nur um es dir zu zeigen .
        Zuletzt geändert von pascal007; 03.01.2008, 18:04.

        Kommentar


        • #5
          ich würd's gleich am zeilenumbruch teilen:
          $lines = explode("\n", $str);

          da muss man vorher eventuell noch \r bzw \r\n berücksichtigen, aber bei nl2br() ist es auch versionsabhängig, ob ein normaler html-umbruch oder ein xhtml-umbruch vorangestellt wird, außerdem bleiben die zeilenumbrüche im string erhalten. k.a. ob das erwünscht ist.

          Kommentar


          • #6
            Ich habs zuerst so versucht, aber es hat mit meiner Variable nicht gekjlappt, deshalb habe ich es mit nl2br gemacht... ich bin ja von der Art auch nicht wirklich begeistert. Hätte es auch lieber mit \n gemacht.

            Kommentar


            • #7
              Original geschrieben von pascal007
              Ich habs zuerst so versucht, aber es hat mit meiner Variable nicht gekjlappt,
              was hat denn nicht geklappt? hast bestimmt single quotes benutzt?

              Kommentar


              • #8
                Ja hab ich . Oke mit " gehts . Ich ändere den Code oben noch ab, damit's passt.

                Kommentar

                Lädt...
                X