asp.net富文本内输入的内容把内容中含有js的代码过滤

小寂恒 2015-03-21 02:48:12
如图:



问题描述:
asp.net mvc 中我想在后台再次过滤用户在富文本编辑器中输入的所有js代码,而如上图我做了个测试,在富文本中输入了js的代码中,提交到方法里获取到的html还包含了我输入的js代码以及富文本加上的<p>之类的标签,然后我用了一个正则来判断在传来的
html中是否有匹配的项(即是否有输入了代码),如果有匹配的,Count>0成立,没有则为0。
问题:为何我输入了js代码而没匹配出来 ?有什么解决方案吗?在线等
...全文
288 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
singleLine不是说只匹配一行,而是将文本(不管有多少行)都看作一行去匹配
  • 打赏
  • 举报
回复
RegexOptions.Multiline改成SingleLine就行了 关于这两个的区别你自己去查一下
小寂恒 2015-03-23
  • 打赏
  • 举报
回复
引用 3 楼 wyd1520 的回复:
这种有时你用一个正则是无法匹配出来的 你要分成两部份 先匹配<script xxxxx> 这个取得这个的开始位置 然后再匹配</sciprt> 结束位置 然后用SubString将它整体的移除
能给我弄例子看看?
webdiyer 2015-03-23
  • 打赏
  • 举报
回复
自己用正则效率很低,试试这个:http://htmlagilitypack.codeplex.com/
小寂恒 2015-03-23
  • 打赏
  • 举报
回复
引用 7 楼 u010675174 的回复:
[quote=引用 6 楼 dongxinxi 的回复:] singleLine不是说只匹配一行,而是将文本(不管有多少行)都看作一行去匹配
ok 我试试[/quote] 还有,如图中我找出来的匹配项,我怎么把匹配出来的arr 用空字符替换
小寂恒 2015-03-23
  • 打赏
  • 举报
回复
引用 6 楼 dongxinxi 的回复:
singleLine不是说只匹配一行,而是将文本(不管有多少行)都看作一行去匹配
ok 我试试
本拉灯 2015-03-21
  • 打赏
  • 举报
回复
这种有时你用一个正则是无法匹配出来的 你要分成两部份 先匹配<script xxxxx> 这个取得这个的开始位置 然后再匹配</sciprt> 结束位置 然后用SubString将它整体的移除
小寂恒 2015-03-21
  • 打赏
  • 举报
回复
引用 1 楼 wyd1520 的回复:
你第一个<script.*> 这里就写的不对了而且你用了贪懒模试会造成了连>.*xxx</sciprt>后面的一起匹配了。 这里应写成<script[^>]*?>
我也这么写过也是不管用的
本拉灯 2015-03-21
  • 打赏
  • 举报
回复
你第一个<script.*> 这里就写的不对了而且你用了贪懒模试会造成了连>.*xxx</sciprt>后面的一起匹配了。 这里应写成<script[^>]*?>
本文提供了一段代码,用于过滤HTML、JS、CSS的恶意代码,如<script>、