''' <summary>
''' 去除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);", "c", 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() = {"", "", "", """", "&", "<", _
">", " ", "!", "¢", "£", "c", _
"", "" & 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
來源出處不可考,若有知情者,還請告知,感謝...
留言列表