(PHP 4, PHP 5, PHP 7, PHP 8)
substr_replace — Remplace un segment dans une chaîne
$string,$replace,$offset,$length = null
   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.
  
stringLa 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, offset
       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.
      
replaceLa 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.
      
   La chaîne résultante est retournée. Si le paramètre
   string est un tableau, alors un
   tableau sera retourné.
  
| Version | Description | 
|---|---|
| 8.0.0 | 
        length est désormais nullable.
        | 
      
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
Note: Cette fonction gère les chaînes binaires.