C#使用正規表示式過濾HTML程式碼
對於一些特殊的功能,我們需求對其HTML程式碼進行過濾,比如不可以進行HTML程式碼留言等地方.
本文為大家介紹在asp.net下使用C#語言實現的正規表示式過濾HTML程式碼
以下是過濾HTML程式碼功能方法.
public static String getTxtWithoutHTMLElement (String element)
{
// String reg="< [^< |^>]+>";
// return element.replaceAll(reg,"");
if(null==element||"".equals(element.trim()))
{
return element;
}
Pattern pattern=Pattern.compile("< [^< |^>]*>");
Matcher matcher=pattern.matcher(element);
StringBuffer txt=new StringBuffer();
while(matcher.find())
{
String group=matcher.group();
if(group.matches("< [\\s]*>"))
{
matcher.appendReplacement(txt,group);
}
else
{
matcher.appendReplacement(txt,"");
}
}
matcher.appendTail(txt);
repaceEntities(txt,"&","&");
repaceEntities(txt,"< ","< ");
repaceEntities(txt,">",">");
repaceEntities(txt,""","\"");
repaceEntities(txt," ","");
return txt.toString();
}
下面是呼叫方法進行測試
public void testGetTxtWithoutHTMLElement ()
{
assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("< a href='a/test'>test< /a>"));
assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("< a href='a/test'>test"));
assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("< input type='text'>test< /input>"));
assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("< p>test"));
assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("< table>< tr>< td>test< /td>< /tr>< /table>"));
assertEquals("te< st",ExcelHssfView.getTxtWithoutHTMLElement("< p>te< st"));
assertEquals("te>st",ExcelHssfView.getTxtWithoutHTMLElement("< p>te>st"));
assertEquals("tst",ExcelHssfView.getTxtWithoutHTMLElement("< p>t< e>st"));
assertEquals("t< st",ExcelHssfView.getTxtWithoutHTMLElement("< p>t< < e>st"));
assertEquals("< >test",ExcelHssfView.getTxtWithoutHTMLElement("< p>< >test"));
assertEquals("< >test",ExcelHssfView.getTxtWithoutHTMLElement("< p>< >test"));
assertEquals("< < >test",ExcelHssfView.getTxtWithoutHTMLElement("< p>< < >test"));
assertEquals("test",ExcelHssfView.getTxtWithoutHTMLElement("< table>< tr>< td> test< /td>< /tr>< /table>"));
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-567487/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 運用正規表示式在Asp中過濾Html標籤程式碼的四種不同方法HTML
- python 正規表示式過濾例項1Python
- C# 常用正規表示式C#
- c# 正規表示式(轉)C#
- 正規表示式(程式碼java版)Java
- 匹配空行正規表示式程式碼
- C#驗證郵件的正規表示式的程式碼C#
- 匹配html標籤正規表示式HTML
- 匹配 HTML 標籤正規表示式HTML
- HTML <a> 標籤的正規表示式HTML
- 瞭解下C# 正規表示式C#
- 正規表示式子表示式程式碼例項
- 匹配正負小數正規表示式程式碼
- 匹配A股程式碼的正規表示式
- 密碼正規表示式密碼
- 匹配HTML註釋的正規表示式HTML
- 匹配HTML標籤的正規表示式HTML
- 學習正規表示式(js、C#)JSC#
- 【Python】正規表示式過濾文字中的html標籤、url超連結、img連結PythonHTML
- 匹配商品條形碼正規表示式程式碼
- QQ號碼驗證正規表示式程式碼
- 常用正規表示式匹配程式碼介紹
- 匹配中文正規表示式程式碼例項
- 匹配換行的正規表示式程式碼
- 匹配郵箱的正規表示式程式碼
- 郵箱驗證正規表示式程式碼
- 正規表示式匹配使用者密碼密碼
- 過目不忘 JS 正規表示式JS
- shell指令碼正規表示式指令碼
- 通過js正規表示式例項學習正規表示式基本語法JS
- 正規表示式例項蒐集,通過例項來學習正規表示式。
- iOS-正規表示式使用iOS
- 驗證正整數正規表示式程式碼例項
- 正規表示式匹配html中的圖片HTML
- C#基礎回顧:正規表示式C#
- 正規表示式
- 匹配ip-v4正規表示式程式碼
- 匹配ip-v6正規表示式程式碼