preg_replace()
为以下代码行返回一个空字符串。目的是用连字符替换任何不是数字的东西。通过在线测试器,我相信正则表达式捕获了正确的东西,但由于某种原因,这一行总是返回一个空字符串。
preg_last_error()
不会返回错误。有什么建议吗?
$subRef = preg_replace("/[^(\d)]/g", "-", $subRef);
答案 0 :(得分:5)
尝试
preg_replace('/\D/', '-', $subRef);
代替。 \D
是“非数字”
php > $foo = 'abc123def';
php > echo preg_replace('/\D/', '-', $foo);
---123---
答案 1 :(得分:5)