我过度使用了str_replace,无法找到更好的方法

时间:2010-11-08 19:58:26

标签: php str-replace

使用PHP我连续多次运行str_replace来将一个东西切换成另一个像这样:

$a = str_replace("cake", "c_", $a);
$a = str_replace("backup", "bk_", $a);
$a = str_replace("tax_documents", "tax_", $a);

等等三十行。这样做最有效的方法是什么?

5 个答案:

答案 0 :(得分:9)

您可以像这样编写替换规则:

$replacements = array(
             'cake' => 'c_',
           'backup' => 'bk_',
    'tax_documents' => 'tax_'
);

然后像这样使用str_replace:

$toReplace = array_keys($replacements);
$replaceWith = array_values($replacements);
$a = str_replace($toReplace, $replaceWith, $a);

答案 1 :(得分:2)

str_replace函数将采用数组进行搜索并替换参数。试试这个。

$finds = array("cake", "backup", "tax_documents");
$reps  = array("c_", "bk_", "tax_");
$a = str_replace($finds, $reps, $a);

答案 2 :(得分:1)

使用数组!

$a = str_replace(array("cake", "backup", "tax_documents"), array("c_", "bk_", "tax_"), $a);

答案 3 :(得分:0)

的preg_replace()。

答案 4 :(得分:0)

尝试:

$ a = str_replace(array(“tax_documents”,“backup”,“cake”),array(“tax_”,“bk _”,“c_”),$ a);