正则表达式替换多行字符串
来源:互联网 发布:数据可视化原理 编辑:程序博客网 时间:2024/05/16 15:44
处理字符串,尤其是复杂且很长的字符串,正则表达式当然是首选。。。
在博客、论坛中在HTML编辑器中写文章时,过滤一些危险代码是非常且有必要的。
Javascript过滤:
// 替换代码中的Script代码function shield_script(str) { if(str == null || str == '') return ''; str = str.replace(/<script[^>]//*>/ig, '<!-- Script Code -->'); // 过滤包含多行的script代码 str = str.replace(/(<script[^>]*>[/w/W]*?<//script>)/igm, '<!-- Script Code -->'); return str;}// 替换代码中的Input和Button控件function shield_input(str) { if(str == null || str == '') return ''; str = str.replace(/<button[^>]//*>/igm, '<!-- Button Code -->'); str = str.replace(/<input[^>]//*>/igm, '<!-- Input Code -->'); str = str.replace(/(<button[^>]*>[/w/W]*?<//button>)/igm, '<!-- Button Code -->'); return str;}// 替换代码中的onclick代码function shield_click(str) { if(str == null || str == '') return ''; return str.replace(/(/s*onclick=[/"/'][/w/W]*?[/"/']/s*)/igm, '');}
Ruby过滤:
# Example:Ruby Scriptdef shield_script(str) if str =~ /(<script[^>]*>[/w/W]*?<//script>)/ return str.gsub(/(<script[^>]*>[/w/W]*?<//script>)/, '<!-- SCRIPT CODE -->') endendhtml = <<HTML_END<div><span>哈哈</span> <script type="text/javascript"> alert("跳转到网易"); location.href="http://www.163.com"; </script> <div id="list"> <script>document.write('<a href="http://163.com">网易</a>');</script> </div></div>HTML_ENDputs shield_script(html)# 输出结果:# <div><span>哈哈</span># <!-- SCRIPT CODE --># <div id="list"># <!-- SCRIPT CODE --># </div># </div>
- 正则表达式替换多行字符串
- 正则表达式替换字符串
- java正则表达式替换字符串
- EditPlus正则表达式替换字符串
- 正则表达式 替换字符串 [javascript]
- notepad2正则表达式替换字符串
- Notepad++ 正则表达式替换字符串
- Oracle正则表达式替换字符串
- 利用正则表达式替换多行代码
- asp (vbscript)中用正则表达式替换字符串
- EditPlus正则表达式替换字符串详解
- 用正则表达式 替换 分割字符串
- EditPlus正则表达式替换字符串详解
- EditPlus正则表达式替换字符串详解
- 关于EditPlus正则表达式替换字符串详解
- EditPlus正则表达式替换字符串详解
- EditPlus正则表达式替换字符串详解
- 正则表达式实现替换字符串封装类
- DWR实现级联
- 冒泡排序
- 读希特勒
- 读希特勒
- java小程序 计算器
- 正则表达式替换多行字符串
- 使用通配符简化泛型使用
- Yupoo! 的网站技术架构
- 关于ISA2004企业版安装后出现0x80028006错误的解决!
- 部署 ISA 2004 防火墙客户端!
- JAVA上加密算法的实现用例
- 奇怪的IE浏览器不能多开窗口现象!
- ISA 2004部署以后内部服务器的远程管理!
- 查找和配置设备驱动程序