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.525 ]

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

Nginx - Redirecionando www para apenas o nome do domínio ou vice-versa

Como instalar o PHP5 no Debian 9 Stretch

Analizando a performance de servidores web com o httperf

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

Como renomear arquivos de letras maiúsculas para minúsculas

Leitura recomendada

Separar caracteres de uma string no PHP

Entenda Expressões Regulares em PHP

Utilizando o loop FOR em PHP

Remover espaços no fim de linha - Eclipse

Imprimindo números no formato de moeda 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