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文件