ASP.NET怎么过滤HTML标签只保留换行与空格-创新互联

这篇文章主要介绍“ASP.NET怎么过滤HTML标签只保留换行与空格”,在日常操作中,相信很多人在ASP.NET怎么过滤HTML标签只保留换行与空格问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ASP.NET怎么过滤HTML标签只保留换行与空格”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

十年专注成都网站制作,企业网站建设,个人网站制作服务,为大家分享网站制作知识、方案,网站设计流程、步骤,成功服务上千家企业。为您提供网站建设,网站制作,网页设计及定制高端网站建设服务,专注于企业网站建设,高端网页制作,对湿喷机等多个行业,拥有多年的营销推广经验。

复制代码 代码如下:

///   <summary>///   去除HTML标记///   </summary>///   <param name="NoHTML">包括HTML的源码   </param>///   <returns>已经去除后的文字</returns>public static string NoHTML(string Htmlstring){  //删除脚本  Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "",    RegexOptions.IgnoreCase);  //删除HTML  Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "",    RegexOptions.IgnoreCase);  Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "",    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, @"&(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.Replace("<", "");  Htmlstring.Replace(">", "");  Htmlstring.Replace("\r\n", "");  Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();  return Htmlstring;}

以上代码是从网上直接复制过来的,这个确实能过滤掉所有的HTML标签,但是这个不是我想要的,这个过滤得太干净了,我如果用textarea输入框的话,我是要保留空格跟换行的。

然后我就自己改了一下这个方法,textarea的换行是\n,所以我得把这些标签重新匹配替换成<br>,这样的话从数据库中读取到页面时,就能正确的换行了,把空格替换成HTML的空格符,大功告成。


复制代码 代码如下:

///   <summary>///   去除HTML标记(保留br跟\r\n)///   </summary>///   <param   name="NoHTML">包括HTML的源码   </param>///   <returns>已经去除后的文字</returns>public static string NewNoHTML(string Htmlstring){    //Htmlstring.Replace("\\r\\n", "%r%n").Replace("<br>","%br%").Replace("<br/>","%br&%").Replace("\\n","%n");    //删除脚本    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, @"&(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.Replace("<", "");    Htmlstring.Replace(">", "");    //Htmlstring.Replace("\r\n", "");    Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring);    Htmlstring = Regex.Replace(Htmlstring, @"((\r\n))", "<br>");    Htmlstring = Regex.Replace(Htmlstring, @"(\r|\n)", "<br>");    Htmlstring = Regex.Replace(Htmlstring, @"(\s)", "&nbsp;");    return Htmlstring;}

到此,关于“ASP.NET怎么过滤HTML标签只保留换行与空格”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!

标题名称:ASP.NET怎么过滤HTML标签只保留换行与空格-创新互联
路径分享:https://www.cdcxhl.com/article28/dgjscp.html

成都网站建设公司_创新互联,为您提供网页设计公司网站改版响应式网站小程序开发关键词优化服务器托管

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

小程序开发