如何调试发送到PHP函数的正则表达式字符串?

时间:2014-01-25 14:04:53

标签: php regex debugging

我使用此函数来替换数千个正则表达式代码:

function preg_replace_assoc(array $replace, $subject) {
   return preg_replace(array_keys($replace), array_values($replace), $subject);
}

现在我升级到PHP 5.3.10并且出现了一些错误:

Warning: preg_replace(): Compilation failed: missing ) at offset 18

Warning: preg_replace(): Compilation failed: nothing to repeat at offset 35

Warning: preg_replace(): Unknown modifier '-'

我该如何调试? PHP不会打印数组键。

1 个答案:

答案 0 :(得分:0)

为数组编写一个简单的循环,并逐个替换键值 - 在替换之前,打印键值对。

这样你就会知道哪个是有问题的表达。