codeigniter:在回调中去除逗号和美元符号


codeigniter: stripping out commas and dollar signs in a callback?

在表单验证期间,我希望能够获取输入的值(如"$5,000")并去除逗号和美元符号,返回"5000"之类的值。因此,我创建了一个如下所示的回调函数:

function convert_to_number($value)
{
    $result = preg_replace('/['$,]/', '', $value);
    return $result;
}

奇怪的是,它没有去掉美元符号或逗号,而是删除它和它后面的每个字符(因此 5,000 美元值返回 0,或 5,000 返回 5)。

我还尝试了以下变体:

function convert_to_number($value)
{
    $result = str_replace("$", "", $value);
    $result = str_replace(",", "", $result);
    return $result;
}

同样的事情发生了。这简直让我难以置信。知道这里会发生什么吗?

返回结果尝试发送实际值,使用结果进行验证,

function convert_to_number($value)
{
    $result = preg_replace('/['$,]/', '', $value);
    return $value;
}