在表单验证期间,我希望能够获取像'$ 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;
}
同样的事情发生了。这只是让我难以置信。知道这里可能会发生什么吗?
答案 0 :(得分:0)
不返回结果尝试发回实际值,使用结果进行验证,
function convert_to_number($value)
{
$result = preg_replace('/[\$,]/', '', $value);
return $value;
}