preg_replace函数不再删除减号

时间:2017-01-25 13:52:38

标签: php

我一直在我的网页上使用此功能一段时间,突然间它无法正常工作

public function stripSignMinus($money)
{
    return preg_replace('/[^\d-.]+/', '', $money);
}

它应该去除所有字母,符号和减号。

然而它不再剥离减号。 我一直在收到preg_replace已被弃用的错误消息。

我想知道它是否没有删除减号,因为它已被弃用,所以我尝试了

return preg_replace_callback('/[^\d-.]+/','', $money);

然而,这根本不起作用。它没有删除任何东西。所以我猜我正在使用preg_replace_callback错误。

我会说我对preg_replace表达式不太满意。

我需要用

来调用它
$functions->stripSignMinus("£-5");

替换引号中的内容并删除减号和货币符号。 bove代码曾经工作但不再有效。 当然,引号中的项也可以是一个字符串。

1 个答案:

答案 0 :(得分:2)

怎么样

 function stripSignMinus($money)
{
    return preg_replace('/[^\d\.]+/','',$money);
}

https://regex101.com/r/mGuipm/1您可以在这里测试结果