str_replace()的问题

时间:2011-02-04 11:25:14

标签: php symfony1 symfony-1.4

我有这段代码:

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 个答案:

答案 0 :(得分:1)

尝试使用trim - 空格可能实际上不是空格 - 可能是其他一些内容。

var_dump(trim($yourString));

答案 1 :(得分:0)

我假设你正在使用symfony。而不是试图考虑可能会根据默认文化而改变的隐形角色(黑名单),为什么不简单地列入白名单?

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

这将删除任何不是数字(0-9)的逗号(,)或小数点(。)

答案 2 :(得分:0)

你应该使用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)