asp.net中如何把一个字符串中的所有html代码去掉成为文本模式
假设,我存进数据库中得是html得字符串,如:<div><P>音乐</P><P>音乐</P></div>这个在我敢出来得时候 是会换行和,我想用这如图方式显示不想让他换行,他只是做一显示一个大概,让用户去点击时在显示全文本,纯文本就好控制,可是他是存在html代码.我现在想去掉hrml代码该成文本样式上面例子改完后为:音乐音乐。请问怎么做,
追问:怎么做,不会所有html东西全部那样吧,在说这个存进去得时候 是随机得,不知道客户会输什么样得的东西进去
答案:public string ClearHtml(string HtmlStr)
{
string tmpStr = HtmlStr;
tmpStr = ReplaceHtml("&#[^>]*;", tmpStr, "");
tmpStr = ReplaceHtml("</?marquee[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?object[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?param[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?embed[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?table[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml(" ", tmpStr, "");
tmpStr = ReplaceHtml("</?tr[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?th[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?p[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?a[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?img[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?tbody[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?li[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?span[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?div[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?th[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?td[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?script[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("(javascript|jscript|vbscript|vbs):", tmpStr, "");
tmpStr = ReplaceHtml("on(mouse|exit|error|click|key)", tmpStr, "");
tmpStr = ReplaceHtml("<\\?xml[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("<\\/?[a-z]+:[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?font[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?b[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?u[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?i[^>]*>", tmpStr, "");
tmpStr = ReplaceHtml("</?strong[^>]*>", tmpStr, "");
return tmpStr;
}
public string ReplaceHtml(string Pattern, string HtmlStr, string replacement)
{
System.Text.RegularExpressions.Regex rx = new System.Text.RegularExpressions.Regex(Pattern,System.Text.RegularExpressions.RegexOptions.IgnoreCase);
if(rx.IsMatch(HtmlStr))
return rx.Replace(HtmlStr, replacement);
return HtmlStr;
} 用substring方法
上一个:如何用asp实现excel数据导入到sql2000中,把具体代码写下
下一个:asp.net中ajax如何在后台Pge_Load代码声明所需要用的方法?