PHP 只允许在字符串中使用一个句点



我已经在这个代码上工作了几个小时,但我似乎无法让它工作。我有一个输入字段,允许用户提交特定商品的价格。以下是所需的过程:

//Get the post it price and only allow numbers and one period|dot
$price = $_POST['price'];
$price = preg_replace('#[^0-9.]#i', '', $_POST['price']);
所以我只想允许每个字符串一个句点,所以如果用户输入 100.00.00

,它将更正它并删除第一个句点并将其转换为 10000.00在此之后,我想为每个第 3 个字符添加一个逗号,如下所示:
如果发布的价格为 10000.00,则会将其转换为 10,000.00。
有什么办法可以做到这一点吗?

$string = "100.00.00";
$array = explode(".", $string);
$last = array_pop($array);
echo number_format(implode("", $array)) . "." . $last;

http://codepad.viper-7.com/t1WuGK

相关内容

最新更新