PHP正则表达式-仅数字(价格)

时间:2019-04-03 12:08:49

标签: php wordpress

我正在尝试从价格字段中删除.00。我有这样的价格输出:

127,000.00 € 

我的正则表达式为:

 <?php  $site = get_field('price'); $site = preg_replace( '/[^0-9]/', '', $site ); $site = rtrim($site, ''); echo $site;?>

结果是:

12700000

应该是:

 127000

有人可以帮我吗?

3 个答案:

答案 0 :(得分:1)

使用PHP 7+更好的方式...

忽略小数点:

$site = '127,000.00 €';
$site = (int) preg_replace('/\..*|\D/', NULL, $site);
echo $site;
// 127000

舍入:

$site = '127,000.50 €';
$site = round(preg_replace('/[^\d.]/', NULL, $site));
echo $site;
// 127001

答案 1 :(得分:0)

$amount =  "127,000.00 €";
$amount = explode(" ",$amount);
$amount =  $amount[0];
$amount = str_replace( ',', '', $amount );
echo (int) $amount ;

输出:127000

答案 2 :(得分:0)

$amtstr = explode(' ', "127,000.00 €"); $value = round(str_replace(',','',$amtstr[0])).' '.$amtstr[1]; echo $value;

希望这可能对您有帮助