(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
.
string
El 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.
replace
El 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 resultado del ejemplo sería:
A: YYY; B: YYY; C: YYY A: AAA; B: BBB; C: CCC A: AAAXX; B: BBBX; C: CCC
Nota: Esta función es segura binariamente.