Announcement

Collapse
No announcement yet.

RegEx Modifier s

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • RegEx Modifier s

    Hi,

    Ich erweitere gerade meine kleine Bibliothek und vermisse den Modifier s für RegularExpressions.
    Unter FF, Chrome und Safari funktioniert folgende RegEx ohne Fehler ( auch in der Konsole ):
    Code:
    var rx = /<script[^>]*>(.*)<\/script>/is;
    var m = rx.exec( somehtmltext );
    In m[1] habe ich jetzt den kompletten mehrzeiligen Text innerhalb des ersten Script-Tag aus somehtmltext.

    Die M$ Browser kommen aber mit dem Modifier s leider nicht zurecht. I.d.R. würde ich das ja verfluchen, aber genau genommen haben die M$-Browser in dem Fall recht, da unter JS der Modifier s lt. Doku nicht existiert.
    Wie mache ich es nun aber, dass ich in Gruppe 1 der Matches den kompletten mehrzeiligen Text innerhalb des <script>-Tags bekomme?
    m und y bringen keinen Erfolg.

    Danke
    PHP rocks!
    Eine Initiative der PHP Community

  • #2
    Habs gerade selber noch gefunden:
    Code:
    /<script[^>]*>([^]*)<\/script>/is
    So funktioniert es zumindest in den richtigen Browsern. Bin gerade am MacBook und kann den IE oder Edge auf die Schnelle nicht testen.
    Hole ich morgen früh nach und geb nochmal einen Status, ob der das auch frisst.

    Gruß Arne
    PHP rocks!
    Eine Initiative der PHP Community

    Comment


    • #3
      Danke fürs Posten der Lösung

      Comment


      • #4
        Der IE/Edge scheint das auch zu können, zumindest meckert er das nicht mehr an. Dafür aber einen Haufen anderer Dinge

        Ich bin es bspw. gewohnt, folgende Iteration für Collections zu verwenden:
        Code:
        myArray.forEach( (i) => { ... });
        Da hat die M$-Fraktion gleich mehrere Probleme mit! Zum Einen funktioniert forEach() bspw. nicht für NodeList und zum Anderen mag er die Schreibweise (i) => { ... } nicht.
        Um es IE konform zu haben, muss also sowas her:
        Code:
        [].forEach.call(myArray, function(i) { ... });
        Daran scheinen aber andere Browser wiederum keinen Gefallen zu finden.

        Es bleibt also weiterhin lustig...
        PHP rocks!
        Eine Initiative der PHP Community

        Comment

        Working...
        X