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

asp.net清除html样式的问题

代码如下,效果不错。 但还是不完美,因为他清空了段落,没有换行了,段落前面也没有空两格了。希望高手指点一下,如何修改下面的函数达到清空样式的,但又不清空换行和换行后保留前面两个空格呢。 public static string ConvertTotxt(string Htmlstring) { //删除脚本 Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase); //删除HTML Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", 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, @"([\r\n])[\s]+", "<br>", 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 = Regex.Replace(Htmlstring, @"<img[^>]*>;", "", RegexOptions.IgnoreCase); Htmlstring.Replace("<", ""); Htmlstring.Replace(">", ""); Htmlstring.Replace("\r\n", ""); Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim(); return Htmlstring; }
追问:不行,这样他就显示如下
<div style="line-height: 150%"> <div style="line-height: 150%"><span style="line-height: 150%; font-size: 15pt"> 乙方按合同条款规定<span style="color: black">应在甲方提供网址和链接文字</...
答案:Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ", RegexOptions.IgnoreCase);

这行删除空格的

    Htmlstring.Replace("<", "");
        Htmlstring.Replace(">", "");   这两行删除了所有的html代码,在这之前最好做个临时把换行救出来,

可以再前面加一行,    Htmlstring.Replace("<br>", "@br@");

然后在那两行之后加上还原   Htmlstring.Replace("@br@", "<br>"); 

    Htmlstring.Replace("<br><br>", "<br>");//如果有需要再加上这行,删除换好多行的,
其他:把第二行和第七行删掉。 学习中

上一个:asp.net中我在页面加载时给texbox赋值、后来我一个修改按钮获取texbox的值还是原来的值、为什么?
下一个:请问asp.net中重新生成解决方案是什么意思,有什么用。还有如何重新生成bin目录下的dll文件

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,