使用javascript中的正则表达式删除所有html标记和javascript标记
如何删除所有html标记和脚本标记?请考虑短标签,如未关闭标签使用javascript中的正则表达式删除所有html标记和javascript标记,javascript,asp.net,html,regex,tags,Javascript,Asp.net,Html,Regex,Tags,如何删除所有html标记和脚本标记?请考虑短标签,如未关闭标签 <script>blah...</script> <body> aaa<b>bbb</body> 请注意,脚本标记内的所有内容都将被忽略。你们这些专家能帮我做到这一点吗 谢谢大家! 您可以从以下位置使用此功能: 功能条标签(输入,允许){ // http://kevin.vanzonneveld.net //+原创者:凯文·范·佐内维尔德(http://kevin.van
<script>blah...</script>
<body> aaa<b>bbb</body>
请注意,脚本标记内的所有内容都将被忽略。你们这些专家能帮我做到这一点吗
谢谢大家! 您可以从以下位置使用此功能:
功能条标签(输入,允许){
// http://kevin.vanzonneveld.net
//+原创者:凯文·范·佐内维尔德(http://kevin.vanzonneveld.net)
//+改进者:卢克·戈弗雷
//+输入:脉冲
//+错误修复人:凯文·范·佐内维尔德(http://kevin.vanzonneveld.net)
//+错误修复者:Onno Marsman
//+输入人:Alex
//+错误修复人:凯文·范·佐内维尔德(http://kevin.vanzonneveld.net)
//+输入人:马克·帕劳
//+改进者:凯文·范·佐内维尔德(http://kevin.vanzonneveld.net)
//+输入:Brett Zamir(http://brett-zamir.me)
//+错误修复人:凯文·范·佐内维尔德(http://kevin.vanzonneveld.net)
//+错误修复者:Eric Nagel
//+输入人:Bobby Drake
//+错误修复人:凯文·范·佐内维尔德(http://kevin.vanzonneveld.net)
//+错误修复者:托马斯兹·韦索洛夫斯基
//+输入人:Evertjan Garretsen
//+修订人:RafałKukawski(http://blog.kukawski.pl/)
//*示例1:带标签(“Kevin
van Zonneveld”,”;
//*返回1:“凯文·范·佐内维尔德”
//*示例2:strip_标签(“Kevin van Zonneveld”,“”);
//*返回2:“Kevin van Zonneveld”
//*示例3:strip_标签(“,”)
//*示例4:带标签('1<5>1');
//*返回4:'1<5>1'
//*示例5:带标签('1
1');
//*返回5:'1'
//*示例6:strip_标签('1
1','
');
//*返回6:'1'
//*示例7:strip_标签('1
1','
');
//*返回7:'1
1'
允许=((允许的“)+”)
.toLowerCase()
.match(//g)| |[])
.join(“”);//确保允许的参数是仅包含小写()标记的字符串
变量标记=/]*>/gi,
commentsAndPhpTags=/|/gi;
返回输入。替换(commentsAndPhpTags.)。替换(标记,函数($0,$1){
允许返回。indexOf(“”)>-1?$0:“”;
});
}
我不是regexp的专家
…但通过以下程序,我将被取代
仅Html标记
:
请不要使用注册表 使用jQuery,您可以执行以下操作:
function notags(data){
return $(data).filter(function(){ return !$(this).is('script'); }).text();
}
alert(notags('<script>blah...</script><body> aaa<b>bbb</body>'));
功能符号(数据){
return$(data).filter(函数(){return!$(this).is('script');}).text();
}
警报(notags('blah…aaabb'));
strip_tags()为什么不这样做呢?.text()的问题是它不会显示短端html,正如我所说的,我必须包含它…以“abc”为例,它必须返回abc。我需要使用正则表达式的原因之一。
function strip_tags (input, allowed) {
// http://kevin.vanzonneveld.net
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: Luke Godfrey
// + input by: Pul
// + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + bugfixed by: Onno Marsman
// + input by: Alex
// + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + input by: Marc Palau
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + input by: Brett Zamir (http://brett-zamir.me)
// + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + bugfixed by: Eric Nagel
// + input by: Bobby Drake
// + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + bugfixed by: Tomasz Wesolowski
// + input by: Evertjan Garretsen
// + revised by: Rafał Kukawski (http://blog.kukawski.pl/)
// * example 1: strip_tags('<p>Kevin</p> <br /><b>van</b> <i>Zonneveld</i>', '<i><b>');
// * returns 1: 'Kevin <b>van</b> <i>Zonneveld</i>'
// * example 2: strip_tags('<p>Kevin <img src="someimage.png" onmouseover="someFunction()">van <i>Zonneveld</i></p>', '<p>');
// * returns 2: '<p>Kevin van Zonneveld</p>'
// * example 3: strip_tags("<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>", "<a>");
// * returns 3: '<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>'
// * example 4: strip_tags('1 < 5 5 > 1');
// * returns 4: '1 < 5 5 > 1'
// * example 5: strip_tags('1 <br/> 1');
// * returns 5: '1 1'
// * example 6: strip_tags('1 <br/> 1', '<br>');
// * returns 6: '1 1'
// * example 7: strip_tags('1 <br/> 1', '<br><br/>');
// * returns 7: '1 <br/> 1'
allowed = (((allowed || "") + "")
.toLowerCase()
.match(/<[a-z][a-z0-9]*>/g) || [])
.join(''); // making sure the allowed arg is a string containing only tags in lowercase (<a><b><c>)
var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,
commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi;
return input.replace(commentsAndPhpTags, '').replace(tags, function($0, $1){
return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : '';
});
}
<?php
$html= "<script>blah...</script>
<body> aaa<b>bbb</body>";
echo str_ireplace("<*>",'',$html);
?>
function notags(data){
return $(data).filter(function(){ return !$(this).is('script'); }).text();
}
alert(notags('<script>blah...</script><body> aaa<b>bbb</body>'));