如何用正则表达式去掉html标签
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用正则表达式去掉html标签相关的知识,希望对你有一定的参考价值。
1、正则表达式去掉html标签代码如下:/// <Header> /// 去除 HTML tag
/// </Header>
/// <param name="HTML">源</param>
/// <returns>结果</returns> public static string StripHTML(string HTML) //google "StripHTML" 得到 string[] Regexs =
@"<script[^>]*?>.*?</script>",
@"<(\\/\\s*)?!?((\\w+:)?\\w+)(\\w+(\\s*=?\\s*(([""\'])(\\\\[""\'tbnr]|[^\\7])*?\\7|\\w+)|.0)|\\s)*?(\\/\\s*)?>",
@"([\\r\\n])[\\s]+",
@"&(quot|#34);",
@"&(amp|#38);",
@"&(lt|#60);",
@"&(gt|#62);",
@"&(nbsp|#160);",
@"&(iexcl|#161);",
@"&(cent|#162);",
@"&(pound|#163);",
@"&(copy|#169);",
@"(\\d+);",
@"-->",
@"<!--.*\\n"
;
string[] Replaces =
"",
"",
"",
"\\"",
"&",
"<",
">",
" ",
"\\xa1", //chr(161), "\\xa2", //chr(162), "\\xa3", //chr(163), "\\xa9", //chr(169), "",
"\\r\\n",
""
;
string s = HTML;
for (int i = 0; i < Regexs.Length; i++)
s = new Regex(Regexs[i], RegexOptions.Multiline | RegexOptions.IgnoreCase).Replace(s, Replaces[i]);
s.Replace("<", "");
s.Replace(">", "");
s.Replace("\\r\\n", "");
return s;
2、可以直接复制到txt,然后保存成为.html,在浏览器中设置即可! 参考技术A
这是js清楚html标签的表达式,不用语言可能会有些不同,但是区别不大。
<!DOCTYPE html><html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
#div1.activebackground: yellow;
#div1 divwidth: 100px;height: 200px;display: none;
</style>
<script type="text/javascript">
window.onload=function()
var oDiv="<div id='div1'>"
+"<input type='button' value='1'/>"
+"<input type='button' value='2'/>"
+"<input type='button' value='3'/>"
+"<input type='button' value='4'/>"
+"<div>11</div>"
+"<div>22</div>"
+"<div>33</div>"
+"<div>44</div>"
+"</div>";
console.log(oDiv+"\\n");
console.log(oDiv.replace(/<\\/0,[a-z](.+?)>/gi,""));
</script>
</head>
<body>
<div id='div1'>
<input type="button" value="1"/>
<input type="button" value="2"/>
<input type="button" value="3"/>
<input type="button" value="4"/>
<div>11</div>
<div>22</div>
<div>33</div>
<div>44</div>
</div>
</body>
</html>
什么是正则表达式?
正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。
许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
参考技术B protected void Page_Load(object sender, EventArgs e)//string regexstr = @"<[^>]*>"; //去除所有的标签
//@"<script[^>]*?>.*?</script >" //去除所有脚本,中间部分也删除
// string regexstr = @"<img[^>]*>"; //去除图片的正则
// string regexstr = @"<(?!br).*?>"; //去除所有标签,只剩br
// string regexstr = @"<table[^>]*?>.*?</table>"; //去除table里面的所有内容
string regexstr = @"<(?!img|br|p|/p).*?>"; //去除所有标签,只剩img,br,p
str = Regex.Replace(str, regexstr, string.Empty, RegexOptions.IgnoreCase);
参考技术C 使用 “<[^<]*>” 然后创建一个RegEXP对象 过滤
这是表达式内容,至于表达式的规范我就不说了
如何用正则表达式把括号连同中括号里的字符去掉
参考技术A 问题描述 :
用正则表达式,去掉如下字符。abc[abc]abcd[abcdesd]abdd[sfsfafw]把中括号连同中括号里的字符都去掉。中括号字符串里有多种长度。
解决方法 :
用正则表达式:[.*?]
把中括号连同中括号里的字符替换为空,就行了。
对于圆括号,只要把里面的中括号替换为圆括号即可。
以上是关于如何用正则表达式去掉html标签的主要内容,如果未能解决你的问题,请参考以下文章
向各位正则高手请教:java 如何用正则 ,去除html标签之间的空格
如何用正则表达式匹配除了img标签的所有其他标签 匹配所有html标签我知道: /<[^>]+>/g 关键排除img标签