Ankündigung

Einklappen
Keine Ankündigung bisher.

Nur Titel Nr. 3 von vielen Titeln auslesen

Einklappen

Neue Werbung 2019

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

  • Nur Titel Nr. 3 von vielen Titeln auslesen

    Hallo, habe hier ein kniffeliges Problem:

    Das ist der Inhalt des String:

    <titel>Hallo Titel 1</titel>
    Text
    <titel>Hallo Title 2</titel>
    Text
    <titel>Hallo Titel 3</titel>
    Text
    <titel>Hallo Titel 4</titel>
    Text
    <titel>Hallo Titel 5</titel>
    Text

    Ich möchte nun genau NUR den Titel Nummer 3 auslesen. Also als Ergebnis:
    "Hallo Titel 3" haben !!! Die Marker haben immer den gleichen Namen <titel> und </titel>

    Wie kannn man das denn nur machen ???

  • #2
    Schau dir mal reguläre Ausdrücke und preg_match_all() an. Aus dem resultierenden Array musst du dann nur noch das 3. Element benutzen.

    Kommentar


    • #3
      Als Ansatzpunkt:

      PHP-Code:
      <?php
      error_reporting
      (E_ALL);

      $TXT = <<<EOD
      <titel>Hallo Titel 1</titel>  
      Text  
      <titel>Hallo Title 2</titel>  
      Text  
      <titel>Hallo Titel 3</titel>  
      Text  
      <titel>Hallo Titel 4</titel>  
      Text  
      <titel>Hallo Titel 5</titel>  
      Text  

      EOD;

      $pattern '=<titel>(.+)(3)(.*)</titel>=i';
      preg_match_all($pattern$TXT$array);

      echo 
      '<pre>'print_r($arraytrue), '</pre>';

      ?>

      Kommentar


      • #4
        Ich gehe mal schwer davon aus das beim Titel Nr. 3 bestimmt nicht eine 3 dabei steht ergo wird der RegEx da auch nicht viel bringen.
        Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

        Kommentar


        • #5
          Genau

          Genau, eine 3 steht nur hier im Beispiel.

          Das sind natürlich immer andere Inhalte.

          Kommentar


          • #6
            Dann lass halt die "(3)" weg und probiers aus :wink:

            Kommentar


            • #7
              wird der RegEx da auch nicht viel bringen
              Hmmmmmmmmmmmmmmm => Als Ansatzpunkt:

              PHP-Code:
              <?php
              $TXT 
              = <<<EOD
              <titel>Hallo Titel 1</titel>  
              Text  
              <titel>Hallo Title 2</titel>  
              Text  
              <titel>Hallo Titel 3</titel>  
              Text  
              <titel>Hallo Titel 4</titel>  
              Text  
              <titel>Hallo Titel 5</titel>  
              Text  

              EOD;

              $pattern '=<titel>(.*)</titel>=isU';
              preg_match_all($pattern$TXT$array);

              echo 
              $array[1][2];

              ?>
              Also auch nur ein Anhaltspunkt !

              Kommentar


              • #8
                Ne, wenn die 3 weg ist, so funzt es nicht mehr !!!!

                Kommentar


                • #9
                  CIX88 Beispiel sieht aber gut aus.
                  Probier das aus und schreib was print_r($array) ausgibt.

                  Einfach zu sagen es geht nicht führt dazu, dass die Leute keine Lust mehr haben, dir zu antworten.
                  Denn du willst was von uns, nicht wir von dir, also arbeite auch konstruktiv mit.

                  Kommentar


                  • #10
                    Das kommt raus:
                    Array ( [0] => Array ( ) [1] => Array ( ) [2] => Array ( ) [3] => Array ( ) )

                    Kommentar


                    • #11
                      passt jetzt nicht rein, ich weiss, aber warum schaust du nicht in den Quellcode da wirds schön formatiert..

                      (nur für ein nächstes mal fals mehrere Werte drin sein werden)
                      :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

                      Kommentar


                      • #12
                        Lass dir nich alles aus der Nase ziehen, was gibt
                        print_r($pattern)
                        print_r($TXT)
                        print_r(preg_match_all(...))
                        aus?

                        Kommentar


                        • #13
                          Zitat von dsmcg
                          passt jetzt nicht rein, ich weiss, aber warum schaust du nicht in den Quellcode da wirds schön formatiert..

                          (nur für ein nächstes mal fals mehrere Werte drin sein werden)
                          warum wenn ein
                          PHP-Code:
                          echo "<pre>";
                          print_r(ARRAY);
                          echo 
                          "</pre>"
                          den selben Effekt erzielt und nicht so umständlich ist?
                          Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

                          Kommentar


                          • #14
                            Ich glaub, ich stehe hier im Walde:

                            PHP-Code:
                            <?php
                            $TXT 
                            = <<<EOD
                            <titel>Hallo Titel 1</titel>
                            Text
                            <titel>Hallo Title 2</titel>
                            Text
                            <titel>Hallo Titel 3</titel>
                            Text
                            <titel>Hallo Titel 4</titel>
                            Text
                            <titel>Hallo Titel 5</titel>
                            Text
                            EOD;

                            $pattern '=<titel>.*</titel>=isU';
                            preg_match_all($pattern$TXT$array);

                            echo 
                            '<pre>'print_r($arraytrue), '</pre>';

                            ?>
                            EDIT:

                            Also wenn dies immer noch nicht klar ist, weis ich auch nicht ...

                            Kommentar


                            • #15
                              echo "<pre>";

                              2x mal in den code zu schreiben ist doch nicht schneller als (im Firefox) Strg+U zu drücken ^o)

                              na ja jedem das seine
                              :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

                              Kommentar

                              Lädt...
                              X