Busca e substituição em strings
Encontre e substitua texto com strpos, str_replace e str_contains.
Busca e substituição em strings é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 4 aulas no total.
Localização de texto em cadeias de caracteres
O PHP oferece muitas funções para localizar partes de cadeias de caracteres. Funções importantes:
strpos()— encontra a posição da primeira ocorrênciastrrpos()— encontra a posição da última ocorrênciastr_contains()— PHP 8, verifica se existestr_starts_with()/str_ends_with()— PHP 8
strpos()
Retorna a posição, começando no índice 0, da primeira ocorrência ou false se ela não for encontrada:
<?php
$str = 'the quick brown fox';
$pos = strpos($str, 'brown');
echo $pos; // 10
// Always use === to check for false (0 is also falsy!)
if (strpos($str, 'quick') !== false) {
echo 'Found!';
}str_contains, str_starts_with, str_ends_with
O PHP 8 acrescenta estas funções booleanas simples:
<?php
$email = 'user@example.com';
var_dump(str_contains($email, '@')); // true
var_dump(str_starts_with($email, 'user')); // true
var_dump(str_ends_with($email, '.com')); // true
var_dump(str_ends_with($email, '.org')); // falsestr_replace()
Substitua todas as ocorrências de uma cadeia pesquisada por uma substituta:
<?php
$template = 'Hello {name}, your order #{id} is ready.';
$result = str_replace(
['{name}', '{id}'],
['Alice', '4521'],
$template
);
echo $result;
// Hello Alice, your order #4521 is ready.str_ireplace() — sem distinção entre maiúsculas e minúsculas
str_ireplace() funciona como str_replace(), mas ignora diferenças entre maiúsculas e minúsculas:
<?php
$text = 'PHP is great. php is powerful. PHP is fun.';
$result = str_ireplace('php', 'PHP 8', $text);
echo $result;
// PHP 8 is great. PHP 8 is powerful. PHP 8 is fun.substr_replace()
Substitua parte de uma cadeia pela posição e pelo comprimento:
<?php
$str = 'Hello World';
echo substr_replace($str, 'PHP', 6, 5);
// Hello PHP
// Replace from end
echo substr_replace($str, '!', -1);
// Hello Worl!substr_count()
Conte quantas vezes uma parte da cadeia aparece:
<?php
$text = 'to be or not to be';
echo substr_count($text, 'be'); // 2
echo substr_count($text, 'to'); // 2
echo substr_count($text, 'or'); // 1preg_replace() — substituição com expressão regular
Use um padrão de expressão regular para substituições complexas:
<?php
$html = '<p>Hello <b>World</b></p>';
// Strip HTML tags
$plain = preg_replace('/<[^>]+>/', '', $html);
echo $plain; // Hello World
// Replace multiple spaces with one
$spaced = 'too many spaces';
echo preg_replace('/\s+/', ' ', $spaced);
// too many spaceshtmlspecialchars para prevenção de XSS
Sempre escape a entrada do usuário antes de enviá-la ao HTML para evitar ataques de XSS:
<?php
$userInput = '<script>alert("hacked")</script>';
// Dangerous:
echo $userInput; // executes script!
// Safe:
echo htmlspecialchars($userInput, ENT_QUOTES, 'UTF-8');
// <script>alert("hacked")</script>Contagem de substituições
str_replace() pode informar quantas substituições foram feitas por meio de um quarto parâmetro opcional:
<?php
$text = 'cat and cat and cat';
$count = 0;
$result = str_replace('cat', 'dog', $text, $count);
echo $result; // dog and dog and dog
echo $count; // 3Preenchimento de cadeias de caracteres
Preencha uma cadeia até o comprimento desejado para fins de formatação:
<?php
echo str_pad('42', 8); // '42 ' (right-pad)
echo str_pad('42', 8, '0', STR_PAD_LEFT); // '000042'
echo str_pad('PHP', 7, '-', STR_PAD_BOTH); // '--PHP--'Verificação rápida
Qual função do PHP 8 verifica se uma cadeia começa com um determinado prefixo?
Resumo: pesquisa e substituição
Funções importantes:
strpos/strrpos— encontra a posição (verifique com === false)str_contains/starts_with/ends_with— funções booleanas do PHP 8str_replace/str_ireplace— substituição simplespreg_replace— substituição baseada em expressão regularhtmlspecialchars— faz o escape para saída HTML
Perguntas Frequentes
A aula “Busca e substituição em strings” é grátis?
Sim — o texto completo de “Busca e substituição em strings” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 4 aulas no total.
O que vou aprender em “Busca e substituição em strings”?
Encontre e substitua texto com strpos, str_replace e str_contains. Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar PHP Academy?
Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Busca e substituição em strings”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de PHP Academy?
Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Fundamentos de strings e concatenação
- Busca e substituição em strings
- Funções de substring e preenchimento
- Divisão e junção de textos