我怎么能使用多个str_replace?

时间:2015-10-05 23:58:09

标签: php

我需要使用str_replace删除字符串的一些字符。为此,我尝试一次使用很多str_replace。

我怎么能这样做?

<?php

  //I need this result 1000.00

  $value = "R$1.000,00";
  $newValue = str_replace("R$","",$value).str_replace(".","", $value).str_replace(",",".", $value);

?>

编辑:我想得到这个结果1000.00

3 个答案:

答案 0 :(得分:0)

$value = "R$1.000,00";
$newValue = str_replace("|","", strtr($value, "R$.,", "|||."));

http://php.net/manual/en/function.strtr.php
http://php.net/manual/en/regexp.reference.escape.php

R$.首先转换为 Pipes |||,转换为.str_replace除了删除|

答案 1 :(得分:0)

如果您想使用str_replace执行此操作,请使用$search$replace的两个数组,如docs中所述:

$value = "R$1.000,00";
$newValue = str_replace(array(".",",","R","$"), array("","."), $value);

答案 2 :(得分:-1)

str_replace可以接受一个数组。

$new_value = str_replace($value, array('R$', '.', ','), ' ', $string);

或者,如果你想用空格替换一些字符而用其他字符替换一些字符(用“。”替换“,”),你可以在同一个字符串上做多个str_replace实例,或者你可以写2个有两个值。

$new_value = str_replace($value, array('R$', '.'), ' ', $string);
$new_value = str_replace($value, array(',', '.'), ' ', $string);

我真的不知道如何链接多个命令,如js,但这并不是说不可能。

编辑我在编辑之前发布了此内容。第二种解决方案可以帮助您完成所要求的工作。