Portal Cursos Guilherme

Menu

Documentação Php | Função Preg_Replace: O que é e Como Usar e Exemplos de Uso!

Para nós programadores pesquisar conteúdo dentro de strings (cadeias/conjunto de caracteres) e substituí-lo por outro conteúdo que desejamos é algo muito importante, principalmente quando precisamos que o código, programa faça isso por nós. Dando assim um perfil dinâmico ao aplicativo, site.

E, para situações como esta, podemos usar a função preg_replace. A função preg_replace, assim como a função str_replace, te permite trocar um conteúdo por outro. Contudo, um ponto muito interessante desta função é que ela permite que utilizemos uma regex (Regular Expression = expressão regular) para fazer isso.

Caso você não saiba, ou nunca tenha usado, uma expressão regular (regex ou regexp) é uma expressão que define um padrão textual de análise para ser utilizado numa string. Exemplo, se necessitássemos de criar uma função para procurar por caractéres alfabéticos, naturalmente, teríamos que criar um código e inserir nele todos os caractéres alafabéticos desejados, tanto em maiúsculo quando em minúsculo. Afinal, para o computador 'A' é diferente 'a'. Ou seja, teríamos de digitar 52 caracteres alfabéticos: a, b, c...y, z e depois A, B, C... Y, Z.

Já ao criar uma função usando regular expression, podemos reduzir a escrita à seguinte expressão: [a-zA-Z]. Só com isso, já abrangeríamos todos os caracteres alfabéticos da língua portuguesa. Ressaltando, que neste caso estou desconsiderando as letras acentuadas.

Playlist com Vídeos sobre PHP

Mais abaixo você encontrará uma playlist com vídeos sobre PHP para você poder estudar mais!

Versões do PHP:

A função var_dump está disponível para o Php4, Php5 e Php7.

Plataformas Aceitas:

É possível executá-la em plataformas Windows, Linux desde que o php e um servidor que rode php estejam instalados.

A sintaxe de uso da função preg_replace é simples, primeiro você entra com o valor a ser procurado, localizado. Depois com o valor que substituirá o valor pesquisado e por fim com a string em que se deve realizar a pesquisa. Neste último, a string, não precisa ser hardcode (texto bruto, texto escrito no arquivo/programa), pode ser uma variável, uma constante, um retorno de função, ou qualquer outro tipo de dados que possa ser capaz de ser convertido para string.

preg_replace([valor-pesquisado], [valor-substituto], [string])

Algo importante a se entender sobre a função preg_replace, é que ela não modifica a string fornecida, e sim gera uma nova com o valor modificado, por isso, para ver sua alteração é preciso armazenar este valor novo numa variável, constante ou enviá-lo diretamente para uma função que imprime conteúdo na tela como echo, print, print_r, var_dump, etc.

Exemplo 01: Função preg_replace – Pesquisando com Regular Expression (RegEx) um Carácter Específico!

Para usar a função preg_replace com regular expression é bem simples, primeiro, é preciso atentar-se que uma regex é um tipo de string, e no php, toda string tem que estar delimitada por aspas simples (') ou aspas dupla (").

Uma vez digitado as aspas coloque entre barras (/), pois no php, uma regular expression precisa estar em barra, o padrão buscado.

$texto = 'Nesta minha frase tem muito a, quero mais e';
echo $texto;
echo preg_replace('/a/','e',$texto);

Resultado do código:

Nesta minha frase tem muito a, quero mais e // Note que o valor da variável texto permaneceu o mesmo, não houve alteração.
Neste minhe frese tem muito e, quero meis e

Exemplo 02: Função preg_replace – Pesquisando um Range de Caractéres

Como já dito, ao utilizar-se a função preg_replace você fará uso da regex para pesquisar, por isso no exemplo abaixo veremos como pesquisar e trocar caracteres dentro de um range (variação, faixa de alcance) usando regular expression.

$texto = 'Nesta minha frase tem muito a, quero mais e';
echo $texto;
echo preg_replace('/[ae]/','i',$texto);

Resultado do código:

Nesta minha frase tem muito a, quero mais e
Nisti minhi frisi tim muito i, quiro miis i // Observe que, desta ver aonde antes havia 'a' e 'e', agora tem 'i'.

Exemplo 03: Função preg_replace – A e Diferente de a!

No exemplo abaixo veremos que, dentro do contexto da regular expression letras maiúscula e minúscula são encaradas como caractéres diferentes. Portanto, se focarmos nas letras minúsculas, as maiúsculas não serão afetas.

Mas, dentro da própria expressão regular é possível definir que se deseja ignorar se a letra é maiúscula ou minúscula, alcançando assim, ambos os tipos.

Dentro do contexto da informática, isso tem origem no design, você encontrará os termos, lowercase, uppercase, e 'no case' ou 'case insensitive'.

Lowercase, faz referência as letras minúsculas (lower significa mais baixo no inglês). E, portanto, uppercase significa letras maiúsculas (upper significa mais alto). Já, 'no case' ou 'case insensitive' faz se analogia a ser insensível ao caso.

Lembrando que em lowercase e uppercase, tem a presença de 'case' (do inglês caixa). Com isso em mente, fica claro que 'no case' ou 'case insensitive' refere-se a ser indiferente se a letra é maiúscula ou minúscula.

Digo isso, para que você entenda, o porque que colocamos um i após a barra(/). Pois, este faz referência ao insensitive do 'case insensitive'.

$texto = 'Nesta minha frAse tem muito A, quero mAis e';
echo $texto;
echo preg_replace('/[a]/i','i',$texto);

Resultado do código:

Nesta minha frAse tem muito A, quero mAis e
Nesti minhi frise tem muito i, quero miis e // Note que, somente as letras 'a' minúsculas foram afetas

Quer Ser um Desenvolvedor Front-End e Back-End?

Você viu na área de Desenvolvimento uma oportunidade para se inserir no mercado de trabalho de tecnologia e está Precisando de um Curso para Começar seus Estudos? Venha Participar do Curso de Desenvolvimento Web do Portal Cursos Guilherme. Atualmente, o curso já está com mais de 34 Horas de Aulas em Vídeos e tem mais aulas por vir. Clique Aqui e Venha conhecer o Curso!

Este Conteúdo te Ajudou?

Se este conteúdo te ajudou, colabore com o portal. Compartilhe com seus amigos.

Playlist com Vídeo do Portal sobre PHP

Estou deixando aqui uma playlist com vídeos já publicados no youtube e no portal, aonde você poderá aprender mais sobre PHP.