Regulären Ausdruck in Javascript finden

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

  • Regulären Ausdruck in Javascript finden

    Ich habe ein Script, das alle URLs aus einer Seite ausliest.
    Geht auch mit allen HTML-Tags, nur bei Javascripten mit der windows.open()-Funktion habe ich Probleme beim auslesen.
    Ich lese dabei die Zeilen des HTML-Codes ein, wird ein bestimmter String (hier 'windows.open') gefunden, soll die URL ausgelesen werden.
    So siehts aus:
    PHP-Code:
    $zeile "<a href=\"#\" onClick=\"java script:window.open('seite.htm?query=value','pop','width=490,height=490')\">";
    $pattern "/window\.open\((\'|\")(.*)(\'|\"),/";

    preg_match($pattern$zeile$matches);
    print 
    "<pre>";
    print_r($matches);
    print 
    "<pre>"
    Die momentane (falsche) Ausgabe ist
    Code:
    Array
    (
        [0] => window.open('seite.htm?query=value','pop',
        [1] => '
        [2] => seite.htm?query=value','pop
        [3] => '
    )
    Da der Array[2] nur die URL mit Query enthalten soll, sollte der Array aber eigentlich so aussehen:
    Code:
    Array
    (
        [0] => window.open('seite.htm?query=value',
        [1] => '
        [2] => seite.htm?query=value
        [3] => '
    )
    Wie bekomme ich den letzten unbenötigten Teil
    Code:
    'pop',
    weg?

    Gruss Guido

  • #2
    Code:
    $pattern = "/window.open\(('|\")(.*)('|\"),/U";
    liefert mir das gewünschte
    Kissolino.com

    Kommentar


    • #3
      Der Tip war Spitze.
      Nur noch eine Frage: Wofür steht das U am Ende?

      Kommentar


      • #4
        Original geschrieben von Guido
        Der Tip war Spitze.
        Nur noch eine Frage: Wofür steht das U am Ende?
        ungreedy
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar

        Lädt...
        X