Olá,
Vamos ver o básico de expressões regulares utilizando preg_match e preg_replace, teremos os exemplos:
- Procura palavra em String
- Substitui um dado valor dentro da String
- Verifica se a variável possui números
- Verifica se a variável possui texto
<?
# String
$str = "Eu uso PHP";
# Printando o valor atual
print "Valor atual: $str <br>";
# Verificando se $str contém a palavra PHP
if( preg_match ( '/PHP/i' , $str ) )
{
print "$str contém a palavra [PHP] <br>";
}
# Substituindo PHP por PHP and PostgreSQL
$newStr = 'PHP and PostgreSQL' ;
$str = preg_replace( '/PHP/' , $newStr, $str);
# Printando o novo valor de $str por $newStr
print "Substituído por: [$str] <br>";
# Numero/Int
$num = 12453;
# Se $num possui o conjunto númerico de 0 à 9
if( preg_match( '/[0-9]/' , $num ) )
{
print "[$num] é numérico <br>";
}
# Se $str NAO possui o conjunto númerico de 0 à 9
if(! preg_match( '/[0-9]/' , $str ) )
{
print "[$str] é String <br>";
}
# Se $num NAO possui o conjunto de A à Z
if(! preg_match( '/[A-Z]/' , $num ) )
{
print "[$num] não contém letras<br>";
}
?>
Sintaxes:
preg_match( ‘/padrao/’ , $variavelAlvo) – Retorna False ou True
preg_replace( ‘/padrao/’ , ‘ novoValor ‘ , $variavelAlvo) – Retorna o novo valor substituído
O padrão deve ser sempre passado entre ‘/ /’ .
Para definir um conjunto deve passa-lo entre [ ].
Exemplo de conjunto:
[0-9] mesmo que 0123456789
[A-Z] de A à Z
[A-Za-z] de A à Z e de a À z (case sensitive)
Se deseja verificar se um endereço de e-mail possui @ o padrão seria ‘/@/’ mas isso não é suficiente para validar um endereço de e-mail pois se o endereço contiver mais de um @ seria validado normalmente.
Vimos apenas o mais básico possível sobre expressões regulares, estou aprendendo também e talvez esteja sendo no PHP o que mais me atrai no momento.
Exemplo do padrão para validação de um endereço de e-mail:
“/^[^!@#$%¨&*()0-9][a-zA-Z0-9_.]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/”;
Exemplo do padrão para validação para tags HTML:
“/<[^>]+>/is”
Pois é, a coisa é complexa, uma expressão para quem nunca curtiu as aulas de matemática pode ser bem chato haha.
Então leiam se quiserem criar algo realmente útil com RegExp.
Referências:
Boa leitura e até logo.
Olá,
Mais um exemplo de como gerar XML com PHP5, neste caso iremos utilizar a Classe nativa do PHP5 o XMLWriter para gerar a saída XML formatada.
Este exemplo, sem dúvidas é bem mais simples que o anterior que utiliza o DOM ou SimpleXML.
Vejamos o código:
<?
# Instancia do objeto XMLWriter
$xml = new XMLWriter;
# Cria memoria para armazenar a saida
$xml->openMemory();
# Inicia o cabeçalho do documento XML
$xml->startDocument( '1.0' , 'iso-8859-1' );
# Adiciona/Inicia um Elemento / Nó Pai <item>
$xml->startElement("item");
# Adiciona um Nó Filho <quantidade> e valor 8
$xml->writeElement("quantidade", 8);
# Adiciona um Nó Filho <preco> e valor 110
$xml->writeElement("preco", 110);
# Finaliza o Nó Pai / Elemento <Item>
$xml->endElement();
# Configura a saida do conteúdo para o formato XML
header( 'Content-type: text/xml' );
# Imprime os dados armazenados
print $xml->outputMemory(true);
# Salvando o arquivo em disco
# retorna erro se o header foi definido
# retorna erro se outputMemory já foi chamado
$file = fopen('foo.xml','w+');
fwrite($file,$xml->outputMemory(true));
fclose($file);
?>
Obs: A chamada ao método $xml->outputMemory() descarrega os dados da memória então você só consegue chama-lo uma vez, logo, para salvar o arquivo você não pode ter chamado este método ainda.
Para salvar o arquivo corretamente você deve comentar as linhas abaixo:
# header( ‘Content-type: text/xml’ );
# print $xml->outputMemory(true);
Comente as linhas abaixo para apenas exibir o XML no browser:
# $file = fopen(‘foo.xml’,'w+’);
# fwrite($file,$xml->outputMemory(true));
# fclose($file);
Referência: http://br.php.net/manual/pt_BR/book.xmlwriter.php
Por enquanto é isso galera, bom divertimento e até mais.
Arquivado em: CSS, PHP, PostgreSql | Tags: galeria de fotos, galeria lightbox, galeria php, lightbox
Olá,
Estou disponibilizando uma simples galeria de fotos.
Recursos:
- Post’s (editável)
- Galeria de Fotos Lightbox (gerenciável)
- Painel Admin (banco)
- Adiciona e remove fotos
Utiliza:
- PHP 5
- PostgreSQL / MySql
- Lightbox
- CSS e HTML
Configuração:
- arquivo .php para informar os dados de acesso ao banco
- criar tabelas do banco
Personalização:
- através de CSS
Design:
- Básico (nenhum)
Funcionalidade:
- Razoável
Limitações na versão padrão:
- mono usuário
- sem design
- código mal identado em alguns arquivos (devido a uma compactação, fiquei com preguiça de arrumar, baixe se quiser)
Link demo: www.clareslab.com.br/gallery
Link Adm: www.clareslab.com.br/gallery/admin
User: demo
Pass: demo
Galera, só peço pra não zoar colocando fotos inadequadas (putaria mesmo) e também nomes de pessoas, já sabem a nossa regrinha, se zoar eu tenho que remover… Espero que respeitem como fizeram no exemplo anterior do lightbox.
Agradeço por isso.
Download Free da versão PostgreSql : www.clareslab.com.br/learn/mygallery.rar
Versão MySql R$ 50,00 : http://clareslab.com.br/mysqlgallery
Telas:

Página Pública

Post Página Pública

Painel Admin

Galeria -Painel Admin

Post Painel Admin
Configurando o programinha:
- Abra o arquivo class/Conexao.class.php
- Altere os dados de acesso ao PostgreSql ($host, $user e $pswd)
- Abra o arquivo includes/config.php altere os dados abaixo:
$homeDB : Nome do banco postgresql
$baseURL : endereço do programa (ex. http://localhost/galeria)
$fotodir : diretório de fotos (ex: c:\fotos ou /home/foo/fotos)
Crie as tabelas no banco PostgreSql
- O script para criar as tabelas está em src/tables.sql
Aproveite para alterar o usuário padrão do painel admin no arquivo src/tables.sql na linha :
- insert into usuarios (usuario,senha) values (‘demo’,'demo’)
O programa não tem interface atraente e esse não é o objetivo, esse programa foi um rascunho de um projetinho que eu havia feito à muito tempo, não teremos atualizações dele. Percebi que o pessoal tem baixado bastante o exemplo anterior do lightbox e achei lega disponibilizar esse rascunho que não está dificil de customizar.
Dica: Altere a interface utilizando CSS, existem tags HTML por todo o código facilitando customização
Ex:
Para colocar uma imagem de topo da página publica
- Abra o arquivo css/style.css e altere o caminho da imagem em e as propriedades do seletor #headerp
Para colocar uma imagem de topo do painel admin altere as propriedades do seletor #header
Para o rodapé: altere as propriedades de #footer
Galera não terei como ajudar em customizações de Layout, blz ?
Então é isso, veja o demo antes de baixar, assim você não se decepciona.
Quero pedir um favor a vocês, quem conseguir configurar e for utilizar a galeria por favor manda o link para mim, assim eu coloco aqui, servirá para o pessoal ver como pode ser customizado o layout. Irei criar uma lista aqui com os endereços, ok;
1 - http://www.cerradodigital.com.br/galeria
Abraços,