麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > .NET > 正文

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

2024-07-10 13:28:40
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了ASP.NET過濾HTML標簽只保留換行與空格的方法,包含網上常見的方法以及對此方法的改進,具有一定的參考借鑒價值,需要的朋友可以參考下
 
 

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

自己從網上找了一個過濾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)", " ");
    return Htmlstring;
}

 

這個過濾可以用于讓用戶輸入發布內容時的過濾。

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 色屁屁xxxxⅹ免费视频 | 失禁高潮抽搐喷水h | 精品国产一区二区三区在线观看 | 中文字幕一区二区三区四区 | 天天色宗合 | 国产美女精品视频 | 亚洲成人福利在线 | tube7xxx| 久国久产久精永久网页 | h色网站免费观看 | 久久伊人国产精品 | 中国国语毛片免费观看视频 | 国产精品久久久久久久av | 国产精品久久久久无码av | 免费久久久| 91在线播放国产 | 中文字幕在线观看www | 久久综合给合久久狠狠狠97色69 | 日韩精品久久久 | 欧美人与zoxxxx另类9 | 三级国产三级在线 | 在线播放免费播放av片 | 欧美三级欧美成人高清www | 国产91亚洲精品久久久 | 免费a级片视频 | 中文字幕在线观看91 | av在线浏览| 性大片性大片免费 | 日日狠狠久久偷偷四色综合免费 | 玖玖视频精品 | 免费色片 | va免费视频| asian附近女人裸体pics | 草莓福利视频在线观看 | 日本欧美一区二区三区在线观看 | 午夜视频观看 | 高清av免费 | 女人裸体让男人桶全过程 | 少妇一级淫片免费看 | 在线播放黄色网址 | 99精品国产一区二区三区 |