RegExp Problem ( Nur bis zum ersten Vorkommen eines Tags auslesen )

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

  • RegExp Problem ( Nur bis zum ersten Vorkommen eines Tags auslesen )

    Moin Leute,

    ich habe da ein kleines RegEx Problem.

    Sagen wir mal ich habe folgenden String:

    PHP-Code:
    $string '<irgendwas einzigartiges><strong>Dat hier will ich haben.</strong></p><strong>Dat hier Nichtmehr.</strong>'
    Ich möchte da nun das "Dat hier will ich haben" herausfiltern.

    Probiert hab ich das so:

    PHP-Code:
    preg_match('/<irgendwas einzigartiges><strong>(.*)<\/strong>/'$foo$bar); 
    Nur kommt dann da das ganze Gesockse bis zum zweiten </strong> auch noch mit rein. Wie sag ich dem Ding, dass es nach dem ersten Strong aufhören soll ?

    Gruß,
    nohfreak
    Mein aktuelles Projekt: Hausaufgaben Datenbank für kostenlose Hausaufgaben

  • #2
    modifier U für ungreedy. siehe auch hier

    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Original geschrieben von Kropff
      modifier U für ungreedy. siehe auch hier
      Ja, der kehrt dann aber auch alles um. Ein simples Fragezeichen genügt auch:

      (.*) "gierig": frisst den längstmöglichen Bereich, der auf das Muster passt.
      (.*?) "nicht gierig": nimmt den kürzesten Bereich, der auf das Muster passt.

      Und es geht auch noch ganz anders:

      Code:
      '/<irgendwas einzigartiges><strong>([^<]*)</strong>/'
      ([^<]*) frisst alles bis zum ersten '<'
      Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

      Kommentar


      • #4
        Danke euch Jungs!

        Hab es damit gelöst:


        ([^<]*) frisst alles bis zum ersten '<'
        Mein aktuelles Projekt: Hausaufgaben Datenbank für kostenlose Hausaufgaben

        Kommentar

        Lädt...
        X