Quelqu'un peut-il me donner un bref résumé des différences s'il vous plaît?
À mon avis, ils font tous les deux la même chose?
Merci
str_replace
remplace une occurrence spécifique d'une chaîne, par exemple "foo" ne correspondra et ne remplacera que: "foo". preg_replace
fera la correspondance des expressions régulières, par exemple "/f.{2}/" fera correspondre et remplacera "foo", mais aussi "fey", "fir", "fox", "f12", etc.
[ÉDITER]
Voir par vous-même:
$string = "foo fighters";
$str_replace = str_replace('foo','bar',$string);
$preg_replace = preg_replace('/f.{2}/','bar',$string);
echo 'str_replace: ' . $str_replace . ', preg_replace: ' . $preg_replace;
La sortie est:
str_replace: bar fighters, preg_replace: bar barhters
:)
str_replace
remplacera simplement une chaîne fixe par une autre chaîne fixe, et ce sera beaucoup plus rapide.
Les fonctions d'expression régulière vous permettent de rechercher et de remplacer par un motif non fixe appelé expression régulière . Il existe de nombreuses "saveurs" d'expression régulière qui sont pour la plupart similaires mais qui ont certains détails différents; celui dont nous parlons ici est les expressions régulières compatibles Perl ( PCRE ).
S'ils vous ressemblent, vous devez utiliser str_replace
.
str_replace
Recherche des occurrences de texte pur tandis que preg_replace
Recherche des modèles.