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

Blog: https://www.instagram.com/alexabolada/

 


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 instalar última versão Node.js via repositório no Ubuntu, Debian e derivados

Contador de linhas em consultas SQL

Erro: "ImportError: No module named PIL" [Resolvido]

Permitir mudança de senha via SSH (e só!)

Juntar/unir linhas (JOIN) no VIM

Leitura recomendada

Separar palavras de uma string no PHP

Imprimindo números no formato de moeda em PHP

Separar caracteres de uma string no PHP

Entenda Expressões Regulares em 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