在表单验证期间,我希望能够获取像“$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;
}
同样的事情也会发生。这简直让我难以置信。知道这里可能会发生什么吗?