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: 46.203 ]

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_\-\.]+@[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: marcelo@orionlab.net

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

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

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

Verificação da sintaxe do e-mail 1.0

Construindo um ToolBar com botões no PHP-GTK

Polimorfismo e PHP 5

  
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_\-\.]+@[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts