substr_replace

(PHP 4, PHP 5, PHP 7)

substr_replaceReemplaza el texto dentro de una porción de un string

Descripción

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

substr_replace() reemplaza una copia de string delimitada por los parámetros start y (opcionalmente) length con el string dado en replacement.

Parámetros

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.

Valores devueltos

El string del resultado es devuelto. Si string es un array entonces un array es devuelto.

Ejemplos

Ejemplo #1 Ejemplo desubstr_replace()

<?php
$var 
'ABCDEFGH:/MNRPQR/';
echo 
"Original: $var<hr />\n";

/* Estos dos ejemplos reemplazan todo $var por 'bob'. */
echo substr_replace($var'bob'0) . "<br />\n";
echo 
substr_replace($var'bob'0strlen($var)) . "<br />\n";

/* Inserta 'bob' justo al comienzo de $var. */
echo substr_replace($var'bob'00) . "<br />\n";

/* Estos dos siguientes reemplazan 'MNRPQR' en $var por 'bob'. */
echo substr_replace($var'bob'10, -1) . "<br />\n";
echo 
substr_replace($var'bob', -7, -1) . "<br />\n";

/* Elimina 'MNRPQR' de $var. */
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'33))."\n";

// Un caso más complicado donde cada remplazo es diferente.
$replace = array('AAA''BBB''CCC');
echo 
implode('; 'substr_replace($input$replace33))."\n";

// Remplaza un número diferente de caracteres cada vez.
$length = array(123);
echo 
implode('; 'substr_replace($input$replace3$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

Notas

Nota: Esta función es segura binariamente.

Ver también