(PHP 4, PHP 5, PHP 7, PHP 8)
substr_replace — Reemplaza el texto dentro de una porción de un string
substr_replace() reemplaza una copia de string
delimitada por los parámetros start
y (opcionalmente) length
con el string dado en replacement
.
string
El string de entrada.
Un array de strings puede ser proporcionado, en el caso de que las sustituciones ocurran, a su vez, en cada string. En este caso, los parámetros replacement
, start
y length
pueden ser proporcionados ya sea como valores escalares que serán aplicados a cada string de entrada, a su vez, o como arrays, en cuyo caso el correspondiente elemento del array será usado para cada string de entrada.
replacement
El string de reemplazo.
start
Si start
es positivo, el reemplazo iniciará en el start
ésimo desplazamiento dentro del string
.
Si start
es negativo, el reemplazo iniciará en el start
ésimo caracter desde el final del string
.
length
Si se da y es positivo, representa la longitud de la porción de string
que se va a reemplazar. Si es negativo, representa el número de caracteres desde el final del string
en el cual se deja de sustituir. Si no se da, entonces se usará por defecto strlen( string
); es decir que la sustitución terminará en el final de string
. Por supuesto, si length
es cero, entonces esta función tendrá el efecto de la inserción de replacement
dentro de string
en el desplazamiento dado por start
.
El string del resultado es devuelto. Si string
es un array entonces un array es devuelto.
Ejemplo #1 Ejemplo desubstr_replace()
<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr />\n";
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";
echo substr_replace($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace($var, 'bob', -7, -1) . "<br />\n";
echo substr_replace($var, '', 10, -1) . "<br />\n";
?>
Ejemplo #2 Usando substr_replace() para reemplazar múltiples strings de una vez
<?php
$input = array('A: XXX', 'B: XXX', 'C: XXX');
// Un caso simple: remplazar XXX en cada string con YYY.
echo implode('; ', substr_replace($input, 'YYY', 3, 3))."\n";
// Un caso más complicado donde cada remplazo es diferente.
$replace = array('AAA', 'BBB', 'CCC');
echo implode('; ', substr_replace($input, $replace, 3, 3))."\n";
// Remplaza 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.