取出html程式碼中的一段文字 去除html標籤
阿新 • • 發佈:2018-12-22
//刪除html標籤
public string SplitHtml(string Htmlstring)
{
Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"<[^>]*>", "");
return Htmlstring;
}
如何去掉從資料庫中讀出的帶有html標籤的字串,並是標籤起效,顯示在前臺頁面
<span style="font-size:18px;"> <tr class="sorts_gray"><td>內容www.66828.net</td><td><s:property value="topic.content" escape="false"/></td></tr></span>
例如資料庫中儲存的字串為“<p>百度百度百度</p><p>谷歌谷歌谷歌</p><p>網址www.66828.net<br/></p>”
加上 escape="false" 可以去掉HTML標籤,使html標籤起效,
顯示如下:
百度百度百度
谷歌谷歌谷歌
網址www.66828.net
//去除指定字串中的HTML標籤相關程式碼函式 private static string RemoveHtml(string strContent, string strTagName) { string pattern = ""; string strResult = ""; Regex exp; MatchCollection matchList; //去掉所有<a>www.66828.net</a>兩個標記的內容,保留<a>和</a>程式碼中間的程式碼 pattern = "<" + strTagName + "([^>])*>"; exp = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace); matchList = exp.Matches(strContent); foreach (Match match in matchList) { if (match.Value.Length > 0) { strResult = match.Value; strContent = strContent.Replace(strResult, ""); } } pattern = "</" + strTagName + "([^>])*>"; exp = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace); matchList = exp.Matches(strContent); foreach (Match match in matchList) { if (match.Value.Length > 0) { strResult = match.Value; strContent = strContent.Replace(strResult, ""); } 去掉所有<a></a>和兩個標記之間的全部內容 pattern = "<" + strTagName + "([^>])*>.*?</" + strTagName + "([^>])*>"; exp = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace); matchList = exp.Matches(strContent); foreach (Match match in matchList) { if (match.Value.Length > 0) { strResult = match.Value; strContent = strContent.Replace(strResult, ""); } } } return strContent; }
最近使用百度編輯器Ueditor,儲存帶html標籤的資料。資料庫裡面儲存的資料是帶標籤的資料,但是頁面展示的時候卻不解析html中的標籤。經過自己反覆測試和百度,最終確定了問題所在。
我頁面展示時使用的是struts標籤 <s:property value="" /> ,Struts標籤中有一個屬性,Escape,如果不寫這個屬性的話,預設的為true,這樣從資料庫中讀取的帶有HTML標籤的資料就會原封不動的放在頁面中,瀏覽器是不會解析你資料中的HTML標籤的;只要將escape改為false即可;
<span><s:property value="" escape="false"/></span>