Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Zeile von...bis auslesen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Zeile von...bis auslesen

    Hallo,

    Ich würde gerne bestimmte Zeilen aus einer externen .php Datei auslesen.

    Z.B. von /*Platzhalter2*/ bis /*Platzhalter3*/

    PHP-Code:

    /*Platzhalter1*/

    echo "inhalt";

    /*Platzhalter2*/

    echo "inhalt";

    /*Platzhalter3*/

    echo "inhalt";

    /*Platzhalter4*/ 
    Statt /*Platzhalter*/ könnte ich auch eine Variable anwenden ($search):

    PHP-Code:
    $search 'test';
    $text file_get_contents('test2.php');
    $pos strpos($text$search);
    if (!
    $pos) die('nichts gefunden');
    $len strlen($search);
    echo 
    substr($text0$pos-1) .
         
    '<b>' substr($text$pos$len) . '</b>' .
         
    substr($text$pos+$len); 
    Somit kann ich schon mal den Anfang bestimmen (es soll ab der Variable $search lesen), aber ich weiß nicht, wie man es macht wo es aufhören soll zu lesen.

    Kann mir jemand dabei helfen?


  • #2
    Benutze file() um eine Datei zeilenweise in ein Array einzulesen. Benutze for() um einen bestimmten Abschnitt davon auszugeben

    http://php.net/manual/de/function.file.php
    http://php.net/manual/de/control-structures.for.php
    .

    Kommentar


    • #3
      Zitat von kremser Beitrag anzeigen
      Benutze file() um eine Datei zeilenweise in ein Array einzulesen. Benutze for() um einen bestimmten Abschnitt davon auszugeben
      Danke!

      Ich brauch ein kleines Beispiel für die for-schleife.

      letzendlich will ich nur wissen, wie man damit einen bestimmten abschnitt ausgibt.

      muss da nicht eine do-while schleife rein?

      Kommentar


      • #4
        Wofür soll das gut sein vielleicht gibt es eine bessere Lösung?

        Einen Definierten abshnitt am besten mit RegEx suchen

        Kommentar


        • #5
          Klick auf die Links und du wirst die Beispiele finden
          .

          Kommentar


          • #6
            Zitat von Kiboman Beitrag anzeigen
            Wofür soll das gut sein vielleicht gibt es eine bessere Lösung?

            Einen Definierten abshnitt am besten mit RegEx suchen
            es werden einfach nur navigationsmenue-punkte in einem admin-bereich angezeigt.

            Kommentar


            • #7
              Zitat von kremser Beitrag anzeigen
              Klick auf die Links und du wirst die Beispiele finden
              hmmm weißt du, diese seite hätte ich auch so finden können,sonst würde ich hier nicht solche fragen im forum stellen.

              etwa so?

              PHP-Code:
              foreach($VON as $BIS)
              {
                 echo 
              $BIS;

              ergibt für mich keinen sinn.

              Kommentar


              • #8
                In besagten Links wird alles anschaulich erklärt:

                Die folgenden Beispiele geben alle die Zahlen 1 bis 10 aus:
                PHP-Code:
                <?php
                /* Beispiel 1 */
                for ($i 1$i <= 10$i++) {
                    echo 
                $i;
                }
                ?>
                .

                Kommentar


                • #9
                  Zitat von kremser Beitrag anzeigen
                  In besagten Links wird alles anschaulich erklärt:


                  PHP-Code:
                  <?php
                  /* Beispiel 1 */
                  for ($i 1$i <= 10$i++) {
                      echo 
                  $i;
                  }
                  ?>
                  Das sieht besser aus! Danke!


                  kann man damit also auch sagen das er den inhalt zwischen zwei variablen anzeigen kann?

                  Kommentar


                  • #10
                    Zitat von 199708897 Beitrag anzeigen
                    hmmm weißt du, diese seite hätte ich auch so finden können,sonst würde ich hier nicht solche fragen im forum stellen.
                    hätte hätte fahrradkette.
                    https://www.lima-city.de/thread/text...rkern-auslesen

                    Kommentar


                    • #11
                      Zitat von 199708897 Beitrag anzeigen
                      Das sieht besser aus! Danke!


                      kann man damit also auch sagen das er den inhalt zwischen zwei variablen anzeigen kann?
                      Was ist denn der Inhalt zwischen 2 Variablen?
                      Fatal Error: Windows wird gestartet

                      Wie administriert man ein Netzwerk: Beispiel

                      Kommentar


                      • #12
                        Zitat von moma Beitrag anzeigen
                        Perfekt!

                        Kommentar


                        • #13
                          und gleich kommt:
                          es geht nicht...

                          preg_match kommt mit den zeilenumbrüchen nicht klar.
                          PHP-Code:
                          $search "test";
                          $text file_get_contents ("test2.php");
                          $text str_replace ("\r\n""@rnbreak@",$text);
                          preg_match ("@(".$search.")(?P<inhalt>.*)(".$search.")@"$text,$outp);
                          $outp str_replace ("@rnbreak@""\r\n"$outp);

                          if (isset(
                          $outp['inhalt'])) {
                              echo 
                          $outp['inhalt'];
                          }
                          else {
                              echo 
                          "nichts gefunden";

                          für navigationslinks ziemlicher aufwand

                          Kommentar


                          • #14
                            Doch Kiboman. Mit dem Modifier s werden Zeilenumbrüche ignoriert:

                            PHP-Code:
                            <?php
                             $test 
                            'bla1bla2
                                      bla3vonbla4
                                      bla5bla6
                                      bisbla7bla8'
                            ;
                             echo 
                            preg_replace('/.*von(.*)bis.*/s''\1'$test);

                            ?>
                            .

                            Kommentar


                            • #15
                              Zitat von kremser Beitrag anzeigen
                              Doch Kiboman. Mit dem Modifier s werden Zeilenumbrüche ignoriert:

                              PHP-Code:
                              <?php
                               $test 
                              'bla1bla2
                                        bla3vonbla4
                                        bla5bla6
                                        bisbla7bla8'
                              ;
                               echo 
                              preg_replace('/.*von(.*)bis.*/s''\1'$test);

                              ?>
                              Oh Danke man lernt ja nie aus

                              Kommentar

                              Lädt...
                              X