zoukankan
html css js c++ java
asp.net如何去掉HTML标记
/**/
///
<summary>
///
去除HTML标记
///
</summary>
///
<param name="NoHTML">
包括HTML的源码
</param>
///
<returns>
已经去除后的文字
</returns>
public
static
string
NoHTML(
string
Htmlstring)
{
//
删除脚本
Htmlstring
=
Regex.Replace(Htmlstring,
@"
<script[^>]*?>.*?</script>
"
,
""
,RegexOptions.IgnoreCase);
//
删除HTML
Htmlstring
=
Regex.Replace(Htmlstring,
@"
<(.[^>]*)>
"
,
""
,RegexOptions.IgnoreCase);
Htmlstring
=
Regex.Replace(Htmlstring,
@"
([\r\n])[\s]+
"
,
""
,RegexOptions.IgnoreCase);
Htmlstring
=
Regex.Replace(Htmlstring,
@"
-->
"
,
""
,RegexOptions.IgnoreCase);
Htmlstring
=
Regex.Replace(Htmlstring,
@"
<!--.*
"
,
""
,RegexOptions.IgnoreCase);
Htmlstring
=
Regex.Replace(Htmlstring,
@"
&(quot|#34);
"
,
"
\
""
,RegexOptions.IgnoreCase);
Htmlstring
=
Regex.Replace(Htmlstring,
@"
&(amp|#38);
"
,
"
&
"
,RegexOptions.IgnoreCase);
Htmlstring
=
Regex.Replace(Htmlstring,
@"
&(lt|#60);
"
,
"
<
"
,RegexOptions.IgnoreCase);
Htmlstring
=
Regex.Replace(Htmlstring,
@"
&(gt|#62);
"
,
"
>
"
,RegexOptions.IgnoreCase);
Htmlstring
=
Regex.Replace(Htmlstring,
@"
&(nbsp|#160);
"
,
"
"
,RegexOptions.IgnoreCase);
Htmlstring
=
Regex.Replace(Htmlstring,
@"
&(iexcl|#161);
"
,
"
\xa1
"
,RegexOptions.IgnoreCase);
Htmlstring
=
Regex.Replace(Htmlstring,
@"
&(cent|#162);
"
,
"
\xa2
"
,RegexOptions.IgnoreCase);
Htmlstring
=
Regex.Replace(Htmlstring,
@"
&(pound|#163);
"
,
"
\xa3
"
,RegexOptions.IgnoreCase);
Htmlstring
=
Regex.Replace(Htmlstring,
@"
&(copy|#169);
"
,
"
\xa9
"
,RegexOptions.IgnoreCase);
Htmlstring
=
Regex.Replace(Htmlstring,
@"
&#(\d+);
"
,
""
,RegexOptions.IgnoreCase);
Htmlstring.Replace(
"
<
"
,
""
);
Htmlstring.Replace(
"
>
"
,
""
);
Htmlstring.Replace(
"
\r\n
"
,
""
);
Htmlstring
=
HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();
return
Htmlstring;
}
/**/
///
提取HTML代码中文字的C#函数
///
<summary>
///
去除HTML标记
///
</summary>
///
<param name="strHtml">
包括HTML的源码
</param>
///
<returns>
已经去除后的文字
</returns>
using
System;
using
System.Text.RegularExpressions;
public
class
StripHTMLTest
{
public
static
void
Main()
{
string
s
=
StripHTML(
"
<HTML><HEAD><TITLE>中国石龙信息平台</TITLE></HEAD><BODY>faddfs龙信息平台</BODY></HTML>
"
);
Console.WriteLine(s);
}
public
static
string
StripHTML(
string
strHtml)
{
string
[] aryReg
=
{
@"
<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
[] aryRep
=
{
""
,
""
,
""
,
"
\
""
,
"
&
"
,
"
<
"
,
"
>
"
,
"
"
,
"
\xa1
"
,
//
chr(161),
"
\xa2
"
,
//
chr(162),
"
\xa3
"
,
//
chr(163),
"
\xa9
"
,
//
chr(169),
""
,
"
\r\n
"
,
""
}
;
string
newReg
=
aryReg[
0
];
string
strOutput
=
strHtml;
for
(
int
i
=
0
;i
<
aryReg.Length;i
++
)
{
Regex regex
=
new
Regex(aryReg[i],RegexOptions.IgnoreCase);
strOutput
=
regex.Replace(strOutput,aryRep[i]);
}
strOutput.Replace(
"
<
"
,
""
);
strOutput.Replace(
"
>
"
,
""
);
strOutput.Replace(
"
\r\n
"
,
""
);
return
strOutput;
}
}
写一个静态方法
移除HTML标签
#region
移除HTML标签
/**/
///
<summary>
///
移除HTML标签
///
</summary>
///
<param name="HTMLStr">
HTMLStr
</param>
public
static
string
ParseTags(
string
HTMLStr)
{
return
System.Text.RegularExpressions.Regex.Replace(HTMLStr,
"
<[^>]*>
"
,
""
);
}
#endregion
取出文本中的图片地址
#region
取出文本中的图片地址
/**/
///
<summary>
///
取出文本中的图片地址
///
</summary>
///
<param name="HTMLStr">
HTMLStr
</param>
public
static
string
GetImgUrl(
string
HTMLStr)
{
string
str
=
string
.Empty;
string
sPattern
=
@"
^<img\s+[^>]*>
"
;
Regex r
=
new
Regex(
@"
<img\s+[^>]*\s*src\s*=\s*([']?)(?<url>\S+)'?[^>]*>
"
,
RegexOptions.Compiled);
Match m
=
r.Match(HTMLStr.ToLower());
if
(m.Success)
str
=
m.Result(
"
${url}
"
);
return
str;
}
#endregion
查看全文
相关阅读:
SQL中的union
SQL的类型转换
Keytool生成证书
Openssl生成证书
Python示例-Json Parse
Python示例-TCP Port Scan
Python套接字
TCP端口扫描
Linux环境变量
Python示例-Logging
原文地址:https://www.cnblogs.com/goody9807/p/961195.html
最新文章
c++ primer 5th 笔记:第八章
c++ primer 5th 笔记:第七章
c++ primer 5th 笔记:第六章
c++ primer 5th 笔记:第五章
技术之路——Qt5的学习笔记
linux下常用命令
以给定概率权值从一个数组中选出一个数
给HttpClient添加Socks代理
给OkHttp Client添加socks代理
我是如何让minio client上传速度提高几十倍的
热门文章
具有相同属性任务串行有序执行的线程池设计
不依赖jstack的java 线程dump和死锁检查工具
XShell与虚拟机连接的IP问题
窗体单例模式
初识Git(三)
初识Git(二)
初识Git(一)
SQL之子查询
ADO.NET之断开数据连接的数据库操作
SQL中一次插入多条数据
Copyright © 2011-2022 走看看