Je galvaudé str_replace et ne peut pas trouver une meilleure façon
-
29-09-2019 - |
Question
En utilisant PHP, je suis en cours d'exécution str_replace plusieurs fois de suite pour changer une chose avec une autre comme ceci:
$a = str_replace("cake", "c_", $a);
$a = str_replace("backup", "bk_", $a);
$a = str_replace("tax_documents", "tax_", $a);
Et ainsi de suite pour trente lignes. Quelle est la façon la plus efficace de le faire?
La solution
Vous pouvez écrire les règles de remplacement comme ceci:
$replacements = array(
'cake' => 'c_',
'backup' => 'bk_',
'tax_documents' => 'tax_'
);
Utilisez ensuite str_replace comme ceci:
$toReplace = array_keys($replacements);
$replaceWith = array_values($replacements);
$a = str_replace($toReplace, $replaceWith, $a);
Autres conseils
La fonction str_replace
prendra des tableaux pour la recherche et remplacer des arguments. Essayez ceci.
$finds = array("cake", "backup", "tax_documents");
$reps = array("c_", "bk_", "tax_");
$a = str_replace($finds, $reps, $a);
Utilisez des tableaux!
$a = str_replace(array("cake", "backup", "tax_documents"), array("c_", "bk_", "tax_"), $a);
preg_replace ().
Essayez:
$ a = str_replace (array ( "tax_documents", "sauvegarde", "gâteau"), array ( "tax_", "bk_", "c_"), $ a);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow