PHP去除html所有on事件输出
$str = "demo@qq.com
test-demo@vip.qq.com
i+box@gmail.com
demo@live.com
@sad2as sad阿迪萨斯 dsad sad as @sada1s
@萨达 阿萨德aaa
@sa阿萨德 as阿萨德
萨达萨达按时 @萨达是a 按时
127.0.0.1
http://tool.lu/
123456789012345
#asdas#多多
sadasd#萨达
#萨asdas#2313
#阿斯达#阿斯达
#122221#
123123rrrr
下面是一些测试实例:
history: v1.0 正则表达式测试工具上线
v1.1 2012-03-25 修复高亮偏移错位的问题
v1.2 2014-06-15 增加生成程序代码的功能
v1.3 2014-09-04 增加java代码的生成,修正邮箱的匹配
1. 截至目前为止,最长域名后缀 .cancerresearch
todo: 加上一些常用的正则表达式
notice: 由于我们使用的是js的正则引擎,所以暂时还不能支持逆序环视
<img on9qewe='sadasdalert(aa)'/<img/src=1 onerror=on1qewe=alert(11)
<div on5errore= onerrwww= >
<img/src=1 o onerror=alert(1) onerror=alonerror=onerror=oncli
=111>
<img One2we= ondsasd=asdonerr=w asdasd
";
$patterns = '/(<\w*\s)*(((on\w*=)*|(on\w*\s*=))*)/Ui';
$replacement = '$1';
echo preg_replace($patterns, $replacement, $str);
输出:
demo@qq.com | |
test-demo@vip.qq.com | |
i+box@gmail.com | |
demo@live.com | |
@sad2as sad阿迪萨斯 dsad sad as @sada1s | |
@萨达 阿萨德aaa | |
@sa阿萨德 as阿萨德 | |
萨达萨达按时 @萨达是a 按时 | |
127.0.0.1 | |
http://tool.lu/ | |
123456789012345 | |
#asdas#多多 | |
sadasd#萨达 | |
#萨asdas#2313 | |
#阿斯达#阿斯达 | |
#122221# | |
123123rrrr | |
下面是一些测试实例: | |
history: v1.0 正则表达式测试工具上线 | |
v1.1 2012-03-25 修复高亮偏移错位的问题 | |
v1.2 2014-06-15 增加生成程序代码的功能 | |
v1.3 2014-09-04 增加java代码的生成,修正邮箱的匹配 | |
1. 截至目前为止,最长域名后缀 .cancerresearch | |
todo: 加上一些常用的正则表达式 | |
notice: 由于我们使用的是js的正则引擎,所以暂时还不能支持逆序环视 | |
<img 'sadasdalert(aa)'/<img/src=1 alert(11) | |
<div > | |
<img/src=1 o alert(1) al111> | |
<img asdw asdasd |