substr_replace
(PHP 4, PHP 5)
substr_replace — Reemplaza el texto dentro de una porción de un string
Descripción
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,startylengthpueden 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
startes positivo, el reemplazo iniciará en elstartésimo desplazamiento dentro delstring.Si
startes negativo, el reemplazo iniciará en elstartésimo caracter desde el final delstring. -
length -
Si se da y es positivo, representa la longitud de la porción de
stringque se va a reemplazar. Si es negativo, representa el número de caracteres desde el final delstringen 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 destring. Por supuesto, silengthes cero, entonces esta función tendrá el efecto de la inserción dereplacementdentro destringen el desplazamiento dado porstart.
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', 0, strlen($var)) . "<br />\n";
/* Inserta 'bob' justo al comienzo de $var. */
echo substr_replace($var, 'bob', 0, 0) . "<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', 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
Notas
Nota: Esta función es segura binariamente.
Ver también
- str_replace() - Reemplaza todas las apariciones del string buscado con el string de reemplazo
- substr() - Devuelve parte de una cadena
- String access and modification by character