preg_match

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

  • preg_match

    Hallo, warum ist mein Array $match denn leer?

    PHP-Code:
    $text '12345</demo>';
    preg_match '/([0-9]{5})<\\/demo>/'$text$match = array () );
    print_r $match ); 
    Was mache ich falsch?

  • #2
    kannst du die initialisierung nicht normal vor dem aufruf machen?

    Kommentar


    • #3
      Krass... aber das habe ich bei PHP4 immer so gemacht..

      Naja, jetzt geht es und die Ausgabe ist

      PHP-Code:
      Array ( [0] => 12345  [1] => 12345 
      Jetzt noch eine Frage...

      Warum steht "12345" da jetzt 2 mal drinne und wie muss ich meinen Ausdruck oben umbauen, dass mir kein Array, sondern nur der String "12345" zurückgegeben wird?

      Danke schonmal!

      Kommentar


      • #4
        Krass... aber das habe ich bei PHP4 immer so gemacht..
        soll das ein argument sein?
        Warum steht "12345" da jetzt 2 mal drinne
        weil preg_match so funktioniert. bei komplexeren ausdrücken fällt dir der sinn schnell auf.
        und wie muss ich meinen Ausdruck oben umbauen, dass mir kein Array, sondern nur der String "12345" zurückgegeben wird?
        hast du doch in $array[1] stehen - was willst du mehr?

        Kommentar


        • #5
          Danke. Habe verstanden!

          2 Probleme hätte ich da noch. Hier das erste:

          PHP-Code:
          <?php
          $text 
          "<demo>123
          456</demo>"
          ;
          $match = array ();
          preg_match '/<demo>(.+)<\\/demo>/m'$text$match );
          print_r $match );
          ?>
          Warum ist jetzt bitteschön mein Array $match leer, obwohl ich den m -Modifier eingeschalten habe?

          Kommentar


          • #6
            Weil du offensichtlich den s-Modifier benutzen solltest. m sorgt nur dafür, dass der Ausdruck zelenweise wirkt ($/^ vorausgesetzt)

            Kommentar


            • #7
              Danke funktioniert prima. Damit hätte sich meine letzte Frage dann auch erledigt.

              Kommentar

              Lädt...
              X