PHP регулярное выражение - только число (цена) - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь удалить .00 из поля цены. У меня есть вывод цены как это:

127,000.00 € 

Мое регулярное выражение:

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

Результат:

12700000

Должно быть:

 127000

Кто-нибудь может мне помочь с этим?

Ответы [ 3 ]

1 голос
/ 03 апреля 2019

Лучший подход с 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
0 голосов
/ 03 апреля 2019

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

Надеюсь, это поможет вам

0 голосов
/ 03 апреля 2019
$amount =  "127,000.00 €";
$amount = explode(" ",$amount);
$amount =  $amount[0];
$amount = str_replace( ',', '', $amount );
echo (int) $amount ;

выход: 127000

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...