substr_replace
(PHP 4, PHP 5, PHP 7, PHP 8)
substr_replace — Substitui o texto dentro de uma parte de uma string
Descrição
array|string
$string
,array|string
$replace
,array|int
$offset
,array|int|null
$length
= null
): string|array
substr_replace() substitui uma cópia de
string
delimitada pelos parâmetros
offset
e (opcionalmente)
length
com a string informada em
replace
.
Parâmetros
string
-
A string de entrada.
Um array de strings pode ser fornecido, e neste caso as substituições irão ocorrer em um string de cada vez. Neste caso, os parâmetros
replace
,offset
elength
podem ser fornecidos tanto como valores escalares a ser aplicados a um string de entrada de cada vez, quanto como arrays, neste caso o elemento correspondente do array será usado por cada string de entrada. replace
-
A string substituta.
offset
-
Se
offset
for não-negativo, a substituição começará na posiçãooffset
dastring
.Se
offset
for negativo, a substituição começará a partir da posiçãooffset
contada a partir do final dastring
. length
-
Se fornecido e positivo, ele representa o comprimento da porção de
string
que deve ser substituída. Se negativo, ele representa o número de caracteres do final destring
onde parar a substituição. Se ele não for fornecido, o padrão será até strlen(string
); isto é, parar a substituição no final destring
. Obviamente, selength
for zero então esta função irá ter efeito de inserirreplace
emstring
na posição fornecida emoffset
.
Valor Retornado
A string de resultado é retornada. Se string
for um
array, então um array será retornado.
Registro de Alterações
Versão | Descrição |
---|---|
8.0.0 |
length agora pode ser nulo.
|
Exemplos
Example #1 Exemplo de substr_replace()
<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr />\n";
/* Estes dois exemplos substituem tudo de $var com 'bob'. */
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";
/* Insere 'bob' direto no começo de $var. */
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";
/* Estes dois exemplos substituem 'MNRPQR' em $var com 'bob'. */
echo substr_replace($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace($var, 'bob', -7, -1) . "<br />\n";
/* Deleta 'MNRPQR' de $var. */
echo substr_replace($var, '', 10, -1) . "<br />\n";
?>
Example #2 Usando substr_replace() para substituir múltiplas strings de uma só vez
<?php
$input = array('A: XXX', 'B: XXX', 'C: XXX');
// Um caso simples: substituir XXX em cada string com YYY.
echo implode('; ', substr_replace($input, 'YYY', 3, 3))."\n";
// Um caso mais complicado onde cada substituição é diferente.
$replace = array('AAA', 'BBB', 'CCC');
echo implode('; ', substr_replace($input, $replace, 3, 3))."\n";
// Substituir um número diferente de caracteres a cada vez.
$length = array(1, 2, 3);
echo implode('; ', substr_replace($input, $replace, 3, $length))."\n";
?>
O exemplo acima produzirá:
A: YYY; B: YYY; C: YYY A: AAA; B: BBB; C: CCC A: AAAXX; B: BBBX; C: CCC
Notas
Note: Esta função é compatível com dados binários.
Veja Também
- str_replace() - Substitui todas as ocorrências da string de pesquisa com a string de substituição
- substr() - Retorna parte de uma string
- Acesso e modificação de strings por caractere