2013-04-04 3 views
1

Я пытаюсь удалить все теги скриптов с содержимым из строки типа ниже с помощью регулярного выражения в javascript. Но я все еще получаю в качестве вывода:Удалить все скрипты с помощью javascript regex

");</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,''); 

Не могли бы вы сказать мне, что это не так и как это исправить. Благодарю.

+0

/<сценарий \ Ъ [^ <] * (? :(?! <\/script>) <[^ <] *) * <\/script>/gi –

+0

это хороший ответ для меня! –

ответ

4

Попробуйте это:

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

или

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

(вам нужно 'М' переключиться на поиск нескольких строк)

+0

вам нужно «m» переключиться на поиск многострочной. –

+2

Отлично, спасибо. – user1853892

+2

Как насчет того, чтобы вы отмечали его как принято? : D –

Смежные вопросы