价格字符串的Preg_replace(PHP)

时间:2011-07-05 07:17:34

标签: php regex

尝试将价格为“2 200,00”(不带引号)的字符串转换为2200.

$result = preg_replace("/([^0-9,]s)/iu","", $result);

不起作用。可以用sombody帮忙吗?

5 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

s有什么好处?并且也不需要括号。试试

$result = preg_replace("/[^0-9,]+/iu","", $result);

可能更好地只观看whitspace

$result = preg_replace("/\w+/iu","", $result);

+表示匹配一个或多个,即如果有多个空格,则会立即匹配。

答案 2 :(得分:1)

尝试

$result = preg_replace("/[,\s+]/iu","", $result);

答案 3 :(得分:0)

您可以使用intvalstr_replace代替preg_replace执行此操作。

// Results in 2200 (without decimals)
$result = intval(str_replace(' ', '', $result));

答案 4 :(得分:0)

这不需要正则表达式。

$number = '2 200,00';
echo str_replace(array(' ', ','), '', substr($number, 0, strrpos($number, ',')));

(如果数字字符串总是包含逗号)