(PHP 4, PHP 5, PHP 7, PHP 8)
substr_replace — Reemplaza un segmento en un string
$string,$replace,$offset,$length = null
substr_replace() reemplaza un segmento del string
string por el string replace.
El segmento está delimitado por offset y eventualmente
por length.
stringEl string de entrada.
Puede proporcionarse un array de strings, y en este caso,
los reemplazos se realizarán en cada uno de los strings. En esta situación,
los parámetros replace, offset
y length deben proporcionarse ya sea como valores escalares
a aplicar a cada string, o como arrays donde el elemento
correspondiente del array será utilizado para cada string de entrada.
replaceEl string de reemplazo.
offset
Si offset no es negativo, el reemplazo
se realizará a partir del carácter número offset
en string.
Si offset es negativo, el reemplazo
se realizará a partir del offset-ésimo carácter
contando desde el final del string string.
length
Si length es proporcionado y positivo, representará
la longitud del segmento de código reemplazado en el
string string. Si es negativo, representará
el número de caracteres desde el final del string
string donde detener el reemplazo. Si es omitido,
tomará el valor por omisión del tamaño
del string, y reemplazará todo hasta el final del string
string. Por supuesto, si
length vale 0, entonces, esta función
tendrá como efecto insertar replace en
string en la posición
offset dada.
El string resultante es retornado. Si el parámetro
string es un array, entonces un
array será retornado.
| Versión | Descripción |
|---|---|
| 8.0.0 |
length ahora es nullable.
|
Ejemplo #1 Ejemplo con substr_replace()
<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original : $var<hr />\n";
// Reemplaza todo el string $var por 'bob'.
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";
// Inserta 'bob' al inicio del string
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";
// Reemplaza la secuencia 'MNRPQR' por 'bob'.
echo substr_replace($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace($var, 'bob', -7, -1) . "<br />\n";
// Borra la secuencia 'MNRPQR' de $var.
echo substr_replace($var, '', 10, -1) . "<br />\n";
?>
Ejemplo #2 Uso de substr_replace() para reemplazar múltiples strings de una sola vez
<?php
$input = array('A: XXX', 'B: XXX', 'C: XXX');
// Un caso simple: reemplazar XXX en cada string por YYY.
echo implode('; ', substr_replace($input, 'YYY', 3, 3))."\n";
// Un caso más complejo donde cada reemplazo es diferente.
$replace = array('AAA', 'BBB', 'CCC');
echo implode('; ', substr_replace($input, $replace, 3, 3))."\n";
// Reemplaza un número diferente de caracteres cada vez.
$length = array(1, 2, 3);
echo implode('; ', substr_replace($input, $replace, 3, $length))."\n";
?>El ejemplo anterior mostrará :
A: YYY; B: YYY; C: YYY A: AAA; B: BBB; C: CCC A: AAAXX; B: BBBX; C: CCC
Nota: Esta función maneja strings binarios.