substr_replace

(PHP 4, PHP 5, PHP 7, PHP 8)

substr_replaceRemplace un segment dans une chaîne

Description

substr_replace(
    array|string$string,
    array|string$replace,
    array|int$offset,
    array|int|null$length = null
): string|array

substr_replace() remplace un segment de la chaîne string par la chaîne replace. Le segment est délimité par offset 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 replace, offsetlength 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.

replace

La chaîne de remplacement.

offset

Si offset n'est pas négatif, le remplacement se fera à partir du caractère numéro offset dans string.

Si offset est négatif, le remplacement se fera à partir du offset-ième caractère en partant de la fin de la chaîne string.

length

Si length est fourni et positif, il représentera la longueur du segment de code remplacé dans la chaîne string. S'il est négatif, il représentera le nombre de caractères à partir de la fin de la chaîne string où arrêter le remplacement. 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îne string. Bien sûr, si length vaut 0, alors, cette fonction aura comme effet d'insérer replace dans string à la position offset 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

VersionDescription
8.0.0length est désormais nullable.

Exemples

Exemple #1 Exemple avec substr_replace()

<?php
$var
= 'ABCDEFGH:/MNRPQR/';
echo
"Original : $var<hr />\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

To Top