(PHP 4, PHP 5, PHP 7, PHP 8)
substr_replace — Substitui o texto dentro de uma parte de uma string
$string,$replace,$offset,$length = null
substr_replace() substitui uma cópia de
string delimitada pelos parâmetros
offset e (opcionalmente)
length com a string informada em
replace.
stringA 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
e length 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.
replaceA string substituta.
offset
Se offset for não-negativo, a substituição começará
na posição offset da
string.
Se offset for negativo, a substituição começará
a partir da posição offset contada a partir do final da
string.
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 de
string 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 de string. Obviamente, se
length for zero então esta função irá ter
efeito de inserir replace em
string na posição fornecida em
offset.
A string de resultado é retornada. Se string for um
array, então um array será retornado.
| Versão | Descrição |
|---|---|
| 8.0.0 |
length agora pode ser nulo.
|
Exemplo #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";
?>
Exemplo #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
Nota: Esta função é compatível com dados binários.