Meu primeiro artigo aqui, eu vou falar um pouco sobre, expressões regulares no php.
São usadas para manipulações complexas de strings no PHP
As funções suportadas são:
• ereg()
• ereg_replace()
• eregi()
• eregi_replace()
• split()
• spliti()
Não precisa de nenhuma biblioteca externa. PHP usa expressões regulares compatíveis com o padrão POSIX.
Vou dividir esse artigo, em pequenas partes, nessa primeira vamos falar sobre 1 funções:
(ereg()). Mas antes, alguns conceitos básicos.
Padrões individuais
.
Casa qualquer caractere, o ponto é tratado como um literal. Por exemplo.
a.c casa “
abc” e assim por diante.
[ ]
Lista de caracteres. Casa uma ocorrência de qualquer caractere contido na lista.
Por exemplo.
[abc] casa “
a”,”
b” ou “
c”.
Podemos definir intervalos de caracteres:
[a-z] casa qualquer caractere de “
a”a ”
z”, e
[0123456789] é igual a
[0-9].
[^ ]
Lista negada de caracteres. Casa uma ocorrência de qualquer caractere não contido na lista. Por exemplo. [^abc] casa qualquer caractere que não seja “
a”, “
b” ou “
c”,
[^a-z] casa qualquer caractere que não esteja em caixa baixa.
ereg() – Casando expressões regulares.
Descrição:
ereg(string expressão, string variável, [array registros])
Verifica se a ‘variável’ casa com a expressão regular definida em “expressão” em modo (casa sensitive).
Só for passado o terceiro parâmetro “registros”, a execução guardara os elementos resultantes na matriz “registros”
Exemplos 1:
<?php
//data no padrão ISO
$data = "2009-12-22";
ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})",
$data,
$registros);
echo $registros[3].
"/".
$registros[2].
"/".
$registros[1];
?>
Resultado na tela:
22/12/2009
Exemplos 2:
Oposto do exemplo 1.
<?php
$data = "22/12/2009";
ereg ("([0-9]{1,2})/([0-9]{1,2})/([0-9]{4})",
$data,
$registros);
echo $registros[1].
"-".
$registros[2].
"-".
$registros[3];
?>
Resultado na tela:
2009-12-22
Você pode usar essa função para validar imagens que vem de um formulário.
Exemplo 3:
Temos um formulário simples, apontando para “ação.php” onde, vai pegar os dados do formulário com o método “post”.
Gravar.php
<form name="form" id="form" method="post" action="acao.php?acao=gravar" enctype="multipart/form-data"> Arquivo:
<input id="limpar" type="reset" id="Entrar" value="limpar"> <input id="gravar" type="submit" id="gravar" value="gravar"> </form>
ação.php
<?php
if($_GET['acao'] == "gravar"):
//PEGANDO A IMAGEM
$string = $_FILES['img']['name'];
ereg ("(.*)\.([^.]+)$",
$string,
$partes);
echo "nome da imagem: ".
$partes[1];
if($partes[2] ==
"jpg")echo "imagem do tipo jpg";
if($partes[2] ==
"jpeg")echo "imagem do tipo jpeg";
if($partes[2] ==
"png")echo "imagem do tipo png";
if($partes[2] ==
"gif")echo "imagem do tipo gif";
if($partes[2] ==
"bmp")echo "imagem do tipo bmp";
endif;
?>
Ele pega a string , e separada as partes, baseando no caractere “.” ponto.
Ex:
“$string = imagem.jpg”
ereg ("(.*)\.([^.]+)$",
$string,
$partes);
$partes[1] = imagem
$partes[2] = jpg
Na próxima parte do artigo, vou explicar mais detalhadamente esse ultimo exemplo e colocar mais alguns. E vou falar das outras funções também.
Você pode ler mais: http://br.php.net/ereg
Valeu