Проблема с str_replace () - PullRequest
       4

Проблема с str_replace ()

0 голосов
/ 04 февраля 2011

У меня есть этот код:

var_dump(format_currency($product_tax = $prodotto->getFinalPrice() + $product->getTax()));
var_dump(str_replace(" ", "", format_currency($product_tax = $prodotto->getFinalPrice() + $product->getTax())));

И выводит это:

string ' 333,88' (length=8)
string ' 333,88' (length=8)

Почему не работает нормально функция str_replace?

С уважением

Хави

Ответы [ 3 ]

1 голос
/ 04 февраля 2011

Попробуйте использовать trim - пробел может фактически не быть пробелом - это может быть ряд других вещей.

var_dump(trim($yourString));
0 голосов
/ 16 марта 2011

Вы должны использовать number_format ()

$value = number_format($product_tax = $prodotto->getFinalPrice() + $product->getTax(), 2, ',');
// the ',' will force the decimal charecter to be ','

var_dump($value)  --> string '333,88' (length=7)
0 голосов
/ 26 февраля 2011

Я полагаю, вы используете Symfony.Вместо того, чтобы пытаться учесть невидимый символ (черный список), который может меняться в зависимости от культуры по умолчанию, почему бы не просто белый список?

echo preg_replace('/[^0-9\.,]/i', '', format_currency(...));

Это удалит все, что не является числом (0-9) запятая (,) или десятичная точка (.)

...