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

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

Vim com Tema de Cores do Visual Studio Code

APT - Como descobrir a que repositório pertence um pacote

Lista de discussão sobre a certificação LPI (Linux Professional Institute)

Error: ENOSPC: System limit for number of file watchers reached [Resolvido]

Comando watch com saída em cores

Leitura recomendada

PHP - Como comparar duas strings case insensitive

Imprimindo números no formato de moeda em PHP

Separar caracteres de uma string no PHP

Separar palavras de uma string no PHP

Remover espaços no fim de linha - Eclipse

  

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