过滤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("<", ""); return Htmlstring; /**/ ///提取HTML代码中文字的C#函数 public static string StripHTML(string strHtml) @"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(\\[" string[]aryRep = string newReg = aryReg[0]; 写一个静态方法移除HTML标签 #endregion #endregion |
===========================================================
''' 去除HTML标记
''' </summary>
''' <param name="Htmlstring">包括HTML的源码 </param>
''' <returns>已经去除后的文字</returns>
Public Shared Function NoHTML(ByVal Htmlstring As String) As String
'删除脚本
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);", "¡", RegexOptions.IgnoreCase)
Htmlstring = Regex.Replace(Htmlstring, "&(cent|#162);", "¢", RegexOptions.IgnoreCase)
Htmlstring = Regex.Replace(Htmlstring, "&(pound|#163);", "£", RegexOptions.IgnoreCase)
Htmlstring = Regex.Replace(Htmlstring, "&(copy|#169);", "©", RegexOptions.IgnoreCase)
Htmlstring = Regex.Replace(Htmlstring, "&#(\d+);", "", RegexOptions.IgnoreCase)
Htmlstring.Replace("<", "")
Htmlstring.Replace(">", "")
Htmlstring.Replace("" & Chr(13) & "" & Chr(10) & "", "")
Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim()
Return Htmlstring
End Function
'''提取HTML代码中文字的C#函数
''' <summary>
''' 去除HTML标记
''' </summary>
''' <param name="strHtml">包括HTML的源码 </param>
''' <returns>已经去除后的文字</returns>
Public Shared Function StripHTML(ByVal strHtml As String) As String
Dim aryReg As String() = {"<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"}
'chr(161),
'chr(162),
'chr(163),
'chr(169),
Dim aryRep As String() = {"", "", "", """", "&", "<", _
">", " ", "¡", "¢", "£", "©", _
"", "" & Chr(13) & "" & Chr(10) & "", ""}
Dim newReg As String = aryReg(0)
Dim strOutput As String = strHtml
For i As Integer = 0 To aryReg.Length - 1
Dim regex As New Regex(aryReg(i), RegexOptions.IgnoreCase)
strOutput = regex.Replace(strOutput, aryRep(i))
Next
strOutput.Replace("<", "")
strOutput.Replace(">", "")
strOutput.Replace("" & Chr(13) & "" & Chr(10) & "", "")
Return strOutput
End Function
'''取出文本中的图片地址
''' <summary>
''' 取出文本中的图片地址
''' </summary>
''' <param name="HTMLStr">HTMLStr</param>
Public Shared Function GetImgUrl(ByVal HTMLStr As String) As String
Dim str As String = String.Empty
Dim sPattern As String = "^<img\s+[^>]*>"
Dim r As New Regex("<img\s+[^>]*\s*src\s*=\s*([']?)(?<url>\S+)'?[^>]*>", RegexOptions.Compiled)
Dim m As Match = r.Match(HTMLStr.ToLower())
If m.Success Then
str = m.Result("${url}")
End If
Return str
End Function
运用:
str = Regex.Replace(str, "([\r\n])[\s]+", "", RegexOptions.IgnoreCase)
str = Regex.Replace(str, "</p>", Chr(13), RegexOptions.IgnoreCase)
str = Regex.Replace(str, "<(.[^>]*)>", "", RegexOptions.IgnoreCase)
str = Regex.Replace(str, "<br>", Chr(13), RegexOptions.IgnoreCase)
str = Regex.Replace(str, "<br/>", Chr(13), RegexOptions.IgnoreCase)
str = Regex.Replace(str, " ", " ", RegexOptions.IgnoreCase)
str = Regex.Replace(str, "<", "<", RegexOptions.IgnoreCase)
str = Regex.Replace(str, ">", ">", RegexOptions.IgnoreCase)