使用正则表达式过滤html标签,属性,样式表,挂马脚本
关于《使用正则表达式过滤html标签,属性,样式表,挂马脚本》,现在小知识百科站小编给您分享一下,希望您阅读完本篇内容后能有所收获。如果对您有所帮助别忘了关注本站哦。
本文介绍如何使用正则表达式过滤html标签的属性(style,class),和html标签如a,div和iframe,objectg,script.
1.使用正则表达式过滤标签样式:style,class.
比如<p style="width:100px">或<p class="myclass"></p>
可使用下面的代码:
private string FilterHtml(string element,string content) { string pattern = element + "\\s?=\\s?(['\"][^'\"]*?['\"]|[^'\"]\\S*)"; try { Regex reg = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled); content = reg.Replace(content, ""); } catch { } return content; }
这个表达式具有普遍意义:可以过滤html的属性。如table的width等
2.使用正则表达式过滤html标签
private string FilterHtml(string element,string content) { string pattern = "<" + element + "[^>]*>|</" + element + ">"; try { Regex reg = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled); content = reg.Replace(content, ""); } catch { } return content; }
可过滤如:<div>和</div>等。
上面的代码对提取文章摘要时很有用处。文章摘要通常先过滤html标签,在提取一段文字的。
3.使用正则表达是过滤object,script,iframe
private string FilterHtml(string element,string content) { string pattern = "<(?<tag>" + element + @")[^>]*>[\s\S]*</\k<tag>>"; try { Regex reg = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled); content = reg.Replace(content, ""); } catch { } return content; }
在html中通过script,iframe挂马令人痛恨。使用上面的代码可以过滤这些害人虫。
以上就是关于“使用正则表达式过滤html标签,属性,样式表,挂马脚本”的所有内容,希望分享的内容对您有帮助!更多的相关知识内容,请继续关注《小知识百科站》网站:http://www.370300.com/!。