Pular para o conteúdo

PHP: Substituindo somente a primeira ocorrência de uma palavra na string

Dica publicada em PHP / Expressões Regulares
Fábio Berbert de Paula fabio
Hits: 21.375 Categoria: PHP Subcategoria: Expressões Regulares
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

PHP: Substituindo somente a primeira ocorrência de uma palavra na string

Essa dica é pra quem trabalha com PHP e precisa substituir somente a primeira ocorrência de uma palavra num string. Veja um exemplo:

<?
$paragrafo = "Agora você pode instalar o Big Linux ou a distro que preferir. Verifique se o CD do Linux já está no computador, ligue e faça dar o boot pelo CD do Linux.";
//substituir a primeira ocorrência da palavra Linux por <em>Linux</em>
$paragrafo = ereg_replace("Linux", "<em>Linux</em>", $paragrafo);
echo $paragrafo;
?>
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

A saída será:

Agora você pode instalar o Big <em>Linux</em> ou a distro que preferir. Verifique se o CD do <em>Linux</em> já está no computador, ligue e faça dar o boot pelo CD do <em>Linux</em>.

O ereg_replace() substitui TODAS as ocorrências da string. A solução para o problema é o uso da função preg_replace(). Para o exemplo acima funcionar, bastar substituir a ereg_replace() por:

$paragrafo = preg_replace("/Linux/", "<em>Linux</em>", $paragrafo, 1);

Espero ter ajudado!

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Obtendo a soma do tamanho os arquivos listados com "du"

Como converter um vídeo MP4 para um GIF para publicar no README.md do seu repositório Github

Como criar um cronômetro em modo texto

Reproduzindo vídeos em modo texto no Linux

Como desabilitar ou remapear um botão físico do teu smartphone

Validando endereço de e-mail em PHP

Utilizando o loop FOR em PHP

Imprimindo números no formato de moeda em PHP

Guia de Expressões Regulares

Separar palavras de uma string no PHP

#1 Comentário enviado por leandromx em 28/10/2009 - 18:59h
Olá Fábio me diz uma coisa,
Se eu quiser mudar somente a seguda palavra linux como ficaria????
#2 Comentário enviado por fabio em 29/10/2009 - 10:43h
Olá Leandro,

Assim deve funcionar:

$paragrafo = preg_replace("/(Linux.*)(Linux)/", "$1<em>$2</em>", $paragrafo);

Um abraço.

Contribuir com comentário

Entre na sua conta para comentar.