欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP.NET過濾HTML標簽只保留換行與空格的方法

 更新時間:2014年12月23日 11:00:51   投稿:shichen2014  
這篇文章主要介紹了ASP.NET過濾HTML標簽只保留換行與空格的方法,包含網(wǎng)上常見的方法以及對此方法的改進,具有一定的參考借鑒價值,需要的朋友可以參考下

本文實例講述了ASP.NET過濾HTML標簽只保留換行與空格的方法。分享給大家供大家參考。具體分析如下:

自己從網(wǎng)上找了一個過濾HTML標簽的方法,我也不知道誰的才是原創(chuàng)的,反正很多都一樣。我把那方法復制下來,代碼如下:

復制代碼 代碼如下:
///   <summary>
///   去除HTML標記
///   </summary>
///   <param name="NoHTML">包括HTML的源碼   </param>
///   <returns>已經(jīng)去除后的文字</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;
}

以上代碼是從網(wǎng)上直接復制過來的,這個確實能過濾掉所有的HTML標簽,但是這個不是我想要的,這個過濾得太干凈了,我如果用textarea輸入框的話,我是要保留空格跟換行的。

然后我就自己改了一下這個方法,textarea的換行是\n,所以我得把這些標簽重新匹配替換成<br>,這樣的話從數(shù)據(jù)庫中讀取到頁面時,就能正確的換行了,把空格替換成HTML的空格符,大功告成。

復制代碼 代碼如下:
///   <summary>
///   去除HTML標記(保留br跟\r\n)
///   </summary>
///   <param   name="NoHTML">包括HTML的源碼   </param>
///   <returns>已經(jīng)去除后的文字</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;
}

這個過濾可以用于讓用戶輸入發(fā)布內(nèi)容時的過濾。

希望本文所述對大家的asp.net程序設(shè)計有所幫助。

相關(guān)文章

  • 五步掌握OOM框架AutoMapper基本使用

    五步掌握OOM框架AutoMapper基本使用

    本文主要介紹了OOM框架AutoMapper的相關(guān)知識,本篇的五個實例可以幫你解決常見的基本問題。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • 使用CefSharp在.Net程序中嵌入Chrome瀏覽器

    使用CefSharp在.Net程序中嵌入Chrome瀏覽器

    這篇文章介紹了使用CefSharp在.Net程序中嵌入Chrome瀏覽器的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • ASP.NET?MVC5網(wǎng)站開發(fā)之用戶角色的后臺管理1(七)

    ASP.NET?MVC5網(wǎng)站開發(fā)之用戶角色的后臺管理1(七)

    這篇文章主要為大家詳細介紹了ASP.NET?MVC5網(wǎng)站開發(fā)之用戶角色的后臺管理,感興趣的小伙伴們可以參考一下
    2016-08-08
  • ASP.Net Core3.0中使用JWT認證的實現(xiàn)

    ASP.Net Core3.0中使用JWT認證的實現(xiàn)

    這篇文章主要介紹了ASP.Net Core3.0中使用JWT認證的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • .Net6.0+Vue3實現(xiàn)數(shù)據(jù)簡易導入功能全過程

    .Net6.0+Vue3實現(xiàn)數(shù)據(jù)簡易導入功能全過程

    最近在用VUE做一個數(shù)據(jù)導入的功能,下面這篇文章主要給大家介紹了關(guān)于使用.Net6.0+Vue3實現(xiàn)數(shù)據(jù)簡易導入功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • ASP.NET 2.0中的頁面輸出緩存

    ASP.NET 2.0中的頁面輸出緩存

    ASP.NET 2.0中的頁面輸出緩存...
    2006-09-09
  • WPF框架Prism中區(qū)域Region用法介紹

    WPF框架Prism中區(qū)域Region用法介紹

    這篇文章介紹了WPF框架Prism中區(qū)域Region用法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-02-02
  • Aspose.Cells組件導出excel文件

    Aspose.Cells組件導出excel文件

    這篇文章主要介紹了利用Aspose.Cells組件導出excel文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • .NET Core3.0 日志 logging的實現(xiàn)

    .NET Core3.0 日志 logging的實現(xiàn)

    這篇文章主要介紹了.NET Core3.0 日志 logging的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • ASP.NET緩存處理類實例

    ASP.NET緩存處理類實例

    這篇文章主要介紹了ASP.NET緩存處理類,實例分析了asp.net緩存的使用技巧,需要的朋友可以參考下
    2015-06-06

最新評論