RegExp bringt meinen Browser zum Absturz

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

  • RegExp bringt meinen Browser zum Absturz

    Hallo,

    ich muss mich wohl leider ein bischen mit Regular Expressions in JavaScript auseinander setzen. Habe es bis jetzt immer geschafft, drun herum zu kommen, aber nun macht es denke ich am meisten Sinn, wenn ich das Script sauber und performant halten möchte.

    Leider finde ich überhaupt keinen Zugang dazu. Ich habe nun schon einige Foren durchsuchstöbert, Scriptbeispiele angepasst und mir die Inhalte von SelfHTML zu dem Thema durchgelesen.

    Aber leider funktioniert in Sachen RegExp garnichts. So fällt es mir schwer den Fehler zu lokalisieren.

    Mit dem aktuellen Scriptschnipsel schaffe ich es immerhin schonmal, den Firefox abschmieren zu lassen, also scheint da schonmal was zu passieren. Ein kleiner Erfolg.

    Ich versuche bestimmte HTML-Tags aus einem String zu entfernen. Da mir leider zur Zeit kein PHP zur Verfügung steht, muss ich das irgendwie über Javascript hinbekommen.

    Zu allererst wollte ich erstmal einen TABLE rausfilter. Aber ich bekomme es einfach nicht hin.

    Momentan sieht das ganze so aus.

    PHP-Code:
    ausdruck = /(^<table)+(.*)+(<\/table>$)/gi;
    document.getElementById("short").innerHTML content.replace(ausdruck''); 
    Sobald ich das versuche auszuführen, bleibt der Firefox einfach nur hängen und tut nix mehr. Kann es sein, dass diese RegExp unnötig verkompliziert sind? Ich will doch nur "<table".?."</table>" finden.

    Ich denke für jemanden, der damit regelmäßig arbeitet, ist das ziemlicher Pipifax.

    Bin für jeden Tipp dankbar.

    Gruß,
    Dennis
    Zuletzt geändert von ChatJack; 28.03.2008, 17:48.

  • #2
    ist das in js überhaupt erlaubt?
    PHP-Code:
    ausdruck = /(^<table)+(.*)+(</table>$)/gi


    müsste das nicht so gehen?
    PHP-Code:
    ausdruck " /(^<table)+(.*)+(<\/table>$)/"
    modifier "gi";
    rex = new RegExp (ausdruckmodifier);
    document.getElementById("short").innerHTML content.replace(rex''); 


    ggf. mal das probieren
    Code:
    /<table[^>]*>.*?<\/table>/
    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Hallo Peter,

      erstmal vielen Dank für deinen Scriptschnipsel.

      Leider zeigt sich der String davon eher unbeeindruckt und lässt den Table drin.

      Laut SelfHTML geht das auch ohne Anführungszeichen. Daran erkennt das Javascript wohl, dass es sich um eine RegExp handelt.

      http://de.selfhtml.org/javascript/ob...egexp.htm#exec

      Ich stricke gerade ein dreckiges Workaround für das Table-Problem.

      Wenn ich es fertig habe kann ich es ja mal reinposten.

      Gruß und Dank,
      Dennis

      Kommentar


      • #4
        hast du das probiert?
        Code:
        /<table[^>]*>.*?<\/table>/
        Laut SelfHTML geht das auch ohne Anführungszeichen. Daran erkennt das Javascript wohl, dass es sich um eine RegExp handelt.
        ja mit exec ok, wie sieht denn der neue code aus? meldungen der fehlerkonsole im ff? mal mit dem ie probiert?

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

        Kommentar

        Lädt...
        X