Maison > développement back-end > tutoriel php > Comment puis-je remplacer uniquement la première (ou la dernière) occurrence d'une sous-chaîne en PHP ?

Comment puis-je remplacer uniquement la première (ou la dernière) occurrence d'une sous-chaîne en PHP ?

Mary-Kate Olsen
Libérer: 2024-12-17 12:17:24
original
260 Les gens l'ont consulté

How Can I Replace Only the First (or Last) Occurrence of a Substring in PHP?

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"
Copier après la connexion

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));
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal