从字符串中删除<script>标记及其之间的内容</script>

时间:2013-09-06 18:46:22

标签: javascript jquery

我看了看,看了看但我找不到任何东西。所以我要说我有这个字符串......

var str = '<script>blah blah blah</script><a>...</a><div>...</div><p>...</p>';

我需要从字符串中删除脚本标记以及标记之间的所有内容。删除脚本标记后,我需要将其附加到textarea。我怎么用jQuery做这个呢?

非常感谢任何帮助!

4 个答案:

答案 0 :(得分:10)

因为没有其他人会发布一个简单而可靠的例程,我想我会:

function noscript(strCode){
   var html = $(strCode.bold()); 
   html.find('script').remove();
 return html.html();
}


alert(   noscript("<script>blah blah blah</script><div>blah blah blah</div>")    );
//shows: "<div>blah blah blah</div>"

答案 1 :(得分:1)

试试这个: -

var str= "<script>blah blah blah</script><div>blah blah blah</div>";
var html = $(str.bold()); 
html.find('script').remove();

答案 2 :(得分:0)

像这样:

var div = $('<div>').html(str);

div.find('script').remove();

str = div.html();

示例:http://codepen.io/paulroub/pen/IabsE

答案 3 :(得分:0)

这是一个小提琴(https://jsfiddle.net/skoley/9dnmbj3d/)的答案,这些答案最好从其他几个来源获得,并归功于他们。

function noscript(strCode){
   var html = $(strCode.italics()); 
   html.find('script').remove();
 return html.html();
}

function noscript_alt(str)
{
var div = $('<div>').html(str);
div.find('script').remove();
str = div.html();
return str;}