当前位置:编程学习 > C#/ASP.NET >>

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代码声明所需要用的方法?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,