preg_replace ranged out - 编译失败

时间:2014-03-24 12:56:20

标签: php regex preg-replace

在我的代码中:


$c = preg_replace('#[^a-z0-9áčďéěíňóřšťúůýž_-:().,;!?]#i', '', $_POST['c']);


我收到此错误:
警告:preg_replace()[function.preg-replace]:编译失败:偏移量为40的字符类中的乱序范围


IDK哪里可能是错误。

1 个答案:

答案 0 :(得分:4)

这样做:

$c = preg_replace('#[^a-z0-9áčďéěíňóřšťúůýž_\-:().,;!?]#i', '', $_POST['c']);

您需要在方括号-内转义[..],因为它被视为区间说明符