Joschua Brunner: Regexp problem. Teile des des Ausdruckes als dyn. String

Hallo Leute,

ich habe ein kleines Cleanup Script welches einem Benutzer bequem ermöglicht HTML Tags aus einem artikel zu entfehrnen.

_______________________
[] Zeilenvorschübe <br>
[] Absätze <p>
[] Bilder <img>
[] usw.
_______________________

Die ausgewählten optionen erhält die funktion als Array und wandelt sie mit:
| var FormRegExp = TagsArray.join("|");
in eine String um.

So,
Ab hier klemmts. ;-)
Beide Varianten:
| return return strHTML.replace(/<(/?)(FormRegExp)[^>]*>/gi, "");
und
| return return strHTML.replace("/<(/?)("+FormRegExp+")[^>]*>/gi", "");
funktionieren nicht. :-(

Manuell würde es funktionieren:
| return return strHTML.replace(/<(/?)(font|img|div)[^>]*>/gi, "");

Hat mir wer ein Tipp?

Demo: http://www.webpublish.ch/forum/regexp.htm
(Beim Demo ist die manuelle variante ausgewählt [font|span|div|br])

Herzlichen Dank
Joschua

  1. gruss Joschua,

    javascript kennt einen konstruktor fuer
       regulaere ausdruecke  -  "new RegExp";

    regExpression = new RegExp("<(/?)("+FormRegExp+")[^>]*>","gi");

    alert(regExpression); /* hier laesst Du Dir anzeigen, ob der
       ausdruck stimmt - ich weiss naemlich gerade nicht, ob bei der
       verwendung des konstruktors die maskierenden "" nicht auch noch
       maskiert werden muessen ("\") */

    return strHTML.replace(regExpression,"");

    by(t)e by(t)e - peterS. - pseliger@gmx.net

    1. Hallo Peter

      javascript kennt einen konstruktor fuer
         regulaere ausdruecke  -  "new RegExp";

      Herzlichen Dank!
      funktioniert wunderbar :-)

      ausdruck stimmt - ich weiss naemlich gerade nicht, ob bei der
         verwendung des konstruktors die maskierenden "" nicht auch noch
         maskiert werden muessen ("\") */

      müssen nicht maskiert werden.

      Danke
      Joschua