2

使用 PHP,我连续多次运行 str_replace 以将一件事换成另一件事,如下所示:

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

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

4

5 回答 5

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);
于 2010-11-08T20:01:59.337 回答
2

str_replace函数将采用数组作为搜索和替换参数。试试这个。

$finds = array("cake", "backup", "tax_documents");
$reps  = array("c_", "bk_", "tax_");
$a = str_replace($finds, $reps, $a);
于 2010-11-08T20:03:56.667 回答
1

使用数组!

$a = str_replace(array("cake", "backup", "tax_documents"), array("c_", "bk_", "tax_"), $a);
于 2010-11-08T20:01:18.780 回答
0

preg_replace()。

于 2010-11-08T20:01:09.900 回答
0

尝试:

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

于 2010-11-08T20:01:54.033 回答