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

Publicado por Fábio Berbert de Paula em 10/10/2008

[ Hits: 20.612 ]

Blog: https://fabio.automatizando.dev

 


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;
?>

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!

Outras dicas deste autor

Como personalizar o thumbnail de seu site no Facebook

giFT: Usando a rede do Kazaa no Ubuntu

Sintaxe alternativa para encontrar arquivos por data com o comando find

Como seu Samsung Galaxy S3 pode se transformar num PC

Vim - juntar múltiplas linhas em uma só (JOIN)

Leitura recomendada

Utilizando o loop FOR em PHP

Imprimindo números no formato de moeda em PHP

Remover espaços no fim de linha - Eclipse

Guia de Expressões Regulares

Entenda Expressões Regulares em PHP

  

Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts