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

ASP.NET過濾HTML標(biāo)簽只保留換行與空格的方法

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

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

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

復(fù)制代碼 代碼如下:
///   <summary>
///   去除HTML標(biāo)記
///   </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)上直接復(fù)制過來的,這個(gè)確實(shí)能過濾掉所有的HTML標(biāo)簽,但是這個(gè)不是我想要的,這個(gè)過濾得太干凈了,我如果用textarea輸入框的話,我是要保留空格跟換行的。

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

復(fù)制代碼 代碼如下:
///   <summary>
///   去除HTML標(biāo)記(保留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;
}

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

    最近在用VUE做一個(gè)數(shù)據(jù)導(dǎo)入的功能,下面這篇文章主要給大家介紹了關(guān)于使用.Net6.0+Vue3實(shí)現(xiàn)數(shù)據(jù)簡(jiǎn)易導(dǎo)入功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    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用法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • Aspose.Cells組件導(dǎo)出excel文件

    Aspose.Cells組件導(dǎo)出excel文件

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

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

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

    ASP.NET緩存處理類實(shí)例

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

最新評(píng)論