array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.substr-replace.php', 1 => 'substr_replace', ), 'up' => array ( 0 => 'ref.strings.php', 1 => 'Funções de String', ), 'prev' => array ( 0 => 'function.substr-count.php', 1 => 'substr_count', ), 'next' => array ( 0 => 'function.substr.php', 1 => 'substr', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/strings/functions/substr-replace.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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
.
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
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.
replace
A 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.