【发布时间】:2013-09-02 03:14:58
【问题描述】:
preg_replace() 正在为以下代码行返回一个空字符串。目的是用连字符替换任何不是数字的东西。通过在线测试,我相信正则表达式能捕捉到正确的东西,但由于某种原因,这条线总是返回一个空字符串。
preg_last_error() 不返回错误。有什么建议吗?
$subRef = preg_replace("/[^(\d)]/g", "-", $subRef);
【问题讨论】:
-
启用
error_reporting(E_ALL);。它会告诉您正则表达式说明符有什么问题。 -
subRef 的值是多少?
-
目前正在使用 9999-99.99 测试 subRef,在此行之前和之后回显,所以很确定正确的值正在进入。
-
正如@mario 所说,启用error_reporting,因为禁用它后您将永远遇到无法解释的问题stackoverflow.com/questions/845021/…
标签: php regex preg-replace