求个正则表达式

有字符串:

a

需要匹配出:

onerro=”alert(1)” 和 onclick=”alert(2)”

并且替换成空。

多谢 !

回复讨论(解决方案)

$s = ‘a’;
echo preg_replace(‘/on\w+=”.*?”/’, ”, $s);

a

$s = ‘a’;
echo preg_replace(‘/on\w+=”.*?”/’, ”, $s);

a

抱歉,我问得不够清楚。

其实是关于富文本编辑器的问题,用户正常输入的内容,编辑器切换到html源码,会显示成实体:

a≶/a>

而编辑器本身的html格式,则直接显示成( 当然,编辑器本身是不会有这样的不良信息的,是手工加上的):

a

如果按照您这种方法,会把用户正常输入的内容也替换掉了。

他转义,你也转义

等你把问题想清楚了再说

谢谢!

其实就是这种里面的onerro=”alert(1)” 和 onclick=”alert(2)”保留

a≶/a>

而这种里面的 onerro=”alert(1)” 和 onclick=”alert(2)” 删除

a

加个约束条件
$s =

Posted in 未分类

发表评论