3

我正在尝试使用 javascript 中的正则表达式从以下类型的字符串中删除所有带有内容的脚本标签。但我仍然得到输出:

");</script>

当它应该是一个空字符串时。

代码是:

var BG = '<script type="text/javascript">document.write("<script type=\"text\/javascript\" src=\"http:\/\/site;js=y;target=_blank;time="+ (window.emediate_time ? window.emediate_time : window.emediate_time = new Date().getTime()) +"1053997930;"><\/script>");</script><script type="text/javascript" src="some?cre=mu;js=y;target=_blank"></script>';

BG = BG.replace(/<\s*script.*?>.*?(<\s*\/script.*?>|$)/ig,'');

你能告诉我什么是错的以及如何解决它。谢谢。

4

1 回答 1

7

试试这个:

(/<.*?script.*?>.*?<\/.*?script.*?>/igm, '')

或者

(/<script.*?>.*?<\/script>/igm, '')

(你需要'm'开关来搜索多行)

于 2013-04-04T16:38:56.210 回答