Expressões regulares no PHP

Este artigo irá abordar conceitos sobre a utilização de expressões regulares com a linguagem PHP. Tópicos abordados: padrão POSIX, busca de padrões e curingas (wildcards).


[ Hits: 44.263 ]

Por: Marcelo Santos Araujo em 10/09/2004


Exemplos com PHP



A função eregi() no PHP:

eregi(padrão,variável) retorna um valor booleano (verdadeiro ou falso)

function verifica_alfabeto($var)
{
     if(eregi("[a-zA-Z]",$var)
    {
        echo "Somente contem caracteres do alfabeto";
    }
}

// Validação de email:
if(!eregi('[a-zA-Z0-9_\-\.][email protected][a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$',$var_email) {
    echo "Email inválido!";
}


if(eregi("[0-9]",$nome)
{
   // se campo nome conter números
   echo "Campo: nome invalido";
}

// Para verificar a incidência de tags HTML
// Existem outras maneiras de filtrar
if(eregi("[<a-zA-Z>]",$var)
{
    echo "Apresentam tags html";
}

Por enquanto, é isso. Espero que esse artigo ajude você a criar seus próprios padrões textuais de busca.

Qualquer dúvida: [email protected]

Página anterior    

Páginas do artigo
   1. Conceitos sobre expressões regulares
   2. Sub-expressões regulares e derivados
   3. Exemplos com PHP
Outros artigos deste autor

Replicação em banco de dados MySQL

Leitura recomendada

Verificação da sintaxe do e-mail 1.0

Iniciando no mundo das expressões regulares (parte 2)

Iniciando no mundo das expressões regulares (parte 1)

Inteligência Artificial com PHP e MySQL (parte I)

Como atribuir notícias RSS ao seu site usando ATOM e PHP

  
Comentários
[1] Comentário enviado por arrb em 10/09/2004 - 08:43h

Bom artigo, no caso da ER para tags creio q o correto seria:
"<[A-Za-z]+[A-Za-z0-9]*>" .

esta ER peraria <a> <h1> <dd> etc...

Blz

[2] Comentário enviado por gatecrasher em 10/09/2004 - 10:59h

isso ai mesmo,

desculpa a falha

[3] Comentário enviado por claudiolima em 01/06/2006 - 12:39h

Bom artigo para incentivar cada vez mais a programação! Blz.

[4] Comentário enviado por Gutto em 21/10/2007 - 16:00h

Só um detalhe, que para iniciantes pode dar problemas. Nos exemplos acima, o correto é fechar o parêntese do if( e do eregi(. Nos exemplo só está fechando um dos dois.

<?php

function verifica_alfabeto($var)
{
if(eregi("[a-zA-Z]",$var))
{
echo "Somente contem caracteres do alfabeto";
}
}

// Validação de email:
if(!eregi('[a-zA-Z0-9_\-\.][email protected][a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$',$var_email)) {
echo "Email inválido!";
}


if(eregi("[0-9]",$nome))
{
// se campo nome conter números
echo "Campo: nome invalido";
}

// Para verificar a incidência de tags HTML
// Existem outras maneiras de filtrar
if(eregi("[<a-zA-Z>]",$var))
{
echo "Apresentam tags html";
} ?>


Contribuir com comentário