substr_replace
(PHP 4, PHP 5)
substr_replace — Remplace un segment dans une chaîne
Description
substr_replace() remplace un segment de la
chaîne string
par la chaîne
replacement
. Le segment est délimité
par start
et éventuellement par
length
.
Liste de paramètres
-
string
-
La chaîne d'entrée.
Un tableau de chaînes de caractères peut être fourni, et dans ce cas, les remplacements surviendront sur chacune des chaînes. Dans cette situation, les paramètres
replacement
,start
length
doivent être fournis soit comme valeurs scalaires à appliquer sur chaque chaîne, ou comme tableaux où l'élément du tableau correspondant sera utilisé pour chaque chaîne d'entrée. -
replacement
-
La chaîne de remplacement.
-
start
-
Si
start
est positif, le remplacement se fera à partir du caractère numérostart
dansstring
.Si
start
est négatif, le remplacement se fera à partir dustart
-ième caractère en partant de la fin de la chaînestring
. -
length
-
Si
length
est fourni et positif, il représentera la longueur du segment de code remplacé dans la chaînestring
. S'il est négatif, il représentera la longueur du segment remplacé, mais compté dans l'ordre inverse de la chaînestring
. S'il est omis, il prendra la valeur par défaut de la taille de la chaîne, et remplacera tout jusqu'à la fin de la chaînestring
. Bien sûr, silength
vaut 0, alors, cette fonction aura comme effet d'insérerreplacement
dansstring
à la positionstart
donnée.
Valeurs de retour
La chaîne résultante est retournée. Si le paramètre
string
est un tableau, alors un
tableau sera retourné.
Historique
Version | Description |
---|---|
4.3.3 | Tous les paramètres acceptent maintenant les tableaux. |
Exemples
Exemple #1 Exemple avec substr_replace()
<?php $var = 'ABCDEFGH:/MNRPQR/'; echo "Original : $var\n"; // Remplace toute la chaîne $var par 'bob'. echo substr_replace($var, 'bob', 0) . "<br />\n"; echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n"; // Insert 'bob' au début de la chaîne echo substr_replace($var, 'bob', 0, 0) . "<br />\n"; // Remplace la séquence 'MNRPQR' par 'bob'. echo substr_replace($var, 'bob', 10, -1) . "<br />\n"; echo substr_replace($var, 'bob', -7, -1) . "<br />\n"; // Efface la séquence 'MNRPQR' de $var. echo substr_replace($var, '', 10, -1) . "<br />\n"; ?>
Exemple #2 Utilisation de substr_replace() pour remplacer plusieurs chaînes en une seule fois
<?php $input = array('A: XXX', 'B: XXX', 'C: XXX'); // Un cas simple : remplacer XXX dans chaque chaîne par YYY. echo implode('; ', substr_replace($input, 'YYY', 3, 3))."\n"; // Un cas plus complexe où chaque remplacement est différent. $replace = array('AAA', 'BBB', 'CCC'); echo implode('; ', substr_replace($input, $replace, 3, 3))."\n"; // Remplace un nombre différent de caractères à chaque fois. $length = array(1, 2, 3); echo implode('; ', substr_replace($input, $replace, 3, $length))."\n"; ?>
L'exemple ci-dessus va afficher :
A: YYY; B: YYY; C: YYY A: AAA; B: BBB; C: CCC A: AAAXX; B: BBBX; C: CCC
Notes
Note: Cette fonction gère les chaînes binaires.
Voir aussi
- str_replace() - Remplace toutes les occurrences dans une chaîne
- substr() - Retourne un segment de chaîne
- Accès et modification d'une chaîne, par caractère