4

完全なタグを最初から最後まで削除できる正規表現が必要です。
例:
指定された文字列の場合:

var str = "Hello <script> console.log('script tag') </script> World";

出力が必要です:

"Hello  World" // with full script tag including inner content removed

私はRegExソリューションのみに非常に特化しているため、ブラウザの追加トリックは必要ありません。
これがまったく不可能な場合は、お知らせください。

私はこれとそのバリエーションを試しました:

inputString.replace( /<\/?[^>]+(>|$)/g, "" );

しかし、これは私が望むものを達成しておらず、タグ要素のみを削除して、内部コンテンツを残しています。式でどのRegExグループを作成する必要がありますか?

type="text/javascript"文字列を受け取る前に既にフィルタリングされているため、 のようなものに対処する必要はありません。jQuery plz はありません。(RegEx をプロパティとしてフィルター オブジェクトに保存する必要があります)。

助けていただければ幸いです。

4

1 に答える 1

4

これは純粋な正規表現ソリューションです:

var str = "Hello <script> console.log('script tag') </script> World";
var repl = str.replace(/<([^.]+)>.*?<\/\1>/ig, '');
//=> "Hello  World"

開始タグと終了タグの間に<ORがないことを前提としています。>

于 2013-10-28T10:23:21.797 に答える