substr_replace

(PHP 4, PHP 5, PHP 7)

substr_replaceRemplace un segment dans une chaîne

Description

substr_replace ( mixed $string , mixed $replacement , mixed $start [, mixed $length ] ) : mixed

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 n'est pas négatif, le remplacement se fera à partir du caractère numéro start dans string.

Si start est négatif, le remplacement se fera à partir du start-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 replacement dans string à la position start 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é.

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'0strlen($var)) . "<br />\n";

// Insert 'bob' au début de la chaîne
echo substr_replace($var'bob'00) . "<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'33))."\n";

// Un cas plus complexe où chaque remplacement est différent.
$replace = array('AAA''BBB''CCC');
echo 
implode('; 'substr_replace($input$replace33))."\n";

// Remplace un nombre différent de caractères à chaque fois.
$length = array(123);
echo 
implode('; 'substr_replace($input$replace3$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