regex in php

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

  • regex in php

    Hu Folks,

    also ich versuche gerade den Quelltext einer HTML Seite auszuwerten und nach bestimmten Begriffen zu suchen.

    1.) Die Begriffe stehen fest, was im Klartext bedeutet dass ich das restliche HTML Gedöns drumrum ja ignorieren kann.

    Beispiel:

    Ich will nun z.b. aus <html>...class2="text"....</html> class2 samt Inhalt auslesen. Mein regex muster lautet:

    ".*(class2="\w").*"

    Mit ".*" lass ich also den HTML Code drumrum unberührt.
    Das wird in den meisten regex Editoren auch fehlerfrei gemacht. Nur wenn ich das jetzt in ein PHP Script auslese, meldet dieses:

    Warning: preg_match() [function.preg-match]: Unknown modifier '.' in /www/htdocs/xxx/xxx.php on line 5

    Was wohl soviel bedeutet, dass PHP den Punkt (.) in regex zum erfassen jeglicher Zeichen nicht kennt? Ohne gehts nämlich. Falls ja, wie erfasse ich dann in PHP per Regex beliebige Zeichen?


    2.) In den meisten Regex-Editoren kann man auf singleline umschalten, was bedeutet dass der String der HTML Seite nur als eine einzige Zeile behandelt wird. Damit spart man sich Zeilenumbrüche im Regexmuster. Wie setzte ich diesen Singlelinemodus für regex in PHP ?


    mfg und danke

  • #2
    Re: regex in php

    Original geschrieben von INC.
    Was wohl soviel bedeutet, dass PHP den Punkt (.) in regex zum erfassen jeglicher Zeichen nicht kennt?
    Doch - aber du kennst offenbar den Begriff Modifier nicht.
    2.) In den meisten Regex-Editoren kann man auf singleline umschalten, was bedeutet dass der String der HTML Seite nur als eine einzige Zeile behandelt wird. Damit spart man sich Zeilenumbrüche im Regexmuster. Wie setzte ich diesen Singlelinemodus für regex in PHP ?
    http://www.php.net/manual/de/referen....modifiers.php
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Danke schonmal

      zu 2.) wie ich sehe ist singleline standardmäßig aktiviert, dort beim Link gibts ja nur multiline als weitere Option, also das Gegenteil.

      zu 1.) da steh ich aufm Schlauch...weitere Literatur zum lesen würde schon reichen, aber komme mit dem Error atm echt nicht weiter.
      Zuletzt geändert von INC.; 29.01.2007, 20:32.

      Kommentar


      • #4
        zu 1: dir fehlen die Delimiter. s. http://www.php-resource.de/tutorials/read/10/1/

        Kommentar


        • #5
          Ja das war das eine..habe aber ebenso vergessen jegliche "/" in "\/" umzuschreiben, jetzt gehts aber

          Danke nochmal.

          Achja in meinem Fall nicht notwendig, aber bin ich blind oder gibts weder auf php.net noch hier im Tutorial ein Beispiel wie man die modifier anwendet? Für mich als Anfänger ist damit schon das Ende der Fahnenstange erreicht, werde rein aus Interesse deswegen mal weiterforschen.

          Kommentar


          • #6
            Zum wirklichen Begreifen von Regulären Ausdrücken empfehle ich das gleichnamige Buch von Friedl. Eine Investition die wirklich lohnt und gerne mal Nerven spart.
            [FONT="Helvetica"]twitter.com/unset[/FONT]

            Shitstorm Podcast – Wöchentliches Auskotzen

            Kommentar


            • #7
              ein Beispiel wie man die modifier anwendet?
              Ähm, es gibt nur eine Stelle im Pattern, die dafür vorgesehen ist. Die nach dem abschließenden Delimiter.

              Kommentar

              Lädt...
              X