Remplacer uniquement la première occurrence par str_replace
Bien qu'il n'y ait pas de fonction str_replace intégrée qui limite son remplacement à la première occurrence, un relativement une solution simple existe sans recourir à des hacks complexes.
Pour y parvenir, utilisez la fonction strpos pour localiser la position de la sous-chaîne dans la chaîne principale. Une fois identifié, utilisez substr_replace pour modifier la chaîne d'origine, en spécifiant la position d'occurrence et la longueur de la sous-chaîne. Cette méthode remplace efficacement la première occurrence sans la surcharge des expressions régulières.
Exemple de code :
$haystack = "This is a sample string"; $needle = "is"; $replace = "was"; $pos = strpos($haystack, $needle); if ($pos !== false) { $newstring = substr_replace($haystack, $replace, $pos, strlen($needle)); } echo $newstring; // Output: "This was a sample string"
Bonus : Pour remplacer la dernière occurrence, remplacez strpos par strrpos :
$pos = strrpos($haystack, $needle); if ($pos !== false) { $newstring = substr_replace($haystack, $replace, $pos, strlen($needle)); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!