Funções
Classe PHP Para Trabalhar com Templates Simples
Esta classe é indicada para aqueles programadores ou webdesigners que pretendem criar um site simples, com conteúdo estático, de preferência, mas que querem ter a facilidade e praticidade para fazer manutenções depois, já que a programação vai ficar separada do template.
Nada impede, contudo, que você crie sistemas complexos com a clase, mas seu objetivo primordial é ser usada em sites pequenos e sem grande complexidade.
O funcionamento segue uma ideia bastante simples: fazer uma leitura de um arquivo de templates dentro de uma string, uma pesquisa e repor todas as ocorrências com um ou mais argumentos.
É composta por 2 arquivos, tpl.class.php e example.php
tpl.class.php
<?php
/***************************************************************************
*
* Author : Eric Sizemore ( www.secondversion.com & www.phpsociety.com)
* Package : Simple Template Engine
* Version : 1.0.2
* Copyright: (C) 2006 - 2007 Eric Sizemore
* Site : www.secondversion.com
* Email : esizemore05 @ gmail.com
* File : tpl.class.php
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
***************************************************************************/
// Template engine
class template
{
/**
* Template variables and their replacements
*
* @var array
*/
var $tpl_vars;
/**
* Constructor
*/
function template()
{
$this->tpl_vars = array();
}
/**
* Assign our variables and replacements
*
* @param array Template variables and replacements
* @return none
*/
function assign($var_array)
{
// Must be an array...
if (!is_array($var_array))
{
die('template::assign() - $var_array must be an array.');
}
$this->tpl_vars = array_merge($this->tpl_vars, $var_array);
}
/**
* Parse the template file
*
* @param string Template file
* @return string Parsed template data
*/
function parse($tpl_file)
{
// Make sure it's a valid file, and it exists
if (!is_file($tpl_file))
{
die('template::parse() - "' . $tpl_file . '" does not exist or is not a file.');
}
$tpl_content = file_get_contents($tpl_file);
foreach ($this->tpl_vars AS $var => $content)
{
$tpl_content = str_replace('{' . $var . '}', $content, $tpl_content);
}
return $tpl_content;
}
/**
* Output the template
*
* @param string Template file
*/
function display($tpl_file)
{
echo $this->parse($tpl_file);
}
}
?>
Leia o restante deste registro »
Usando a Função substr() do PHP
A função substr() do PHP é responsável por retornar uma parte específica de uma string. Ou seja, você informa algum caractere ou expressão que possa estar inclusa numa string e esta função retorna. Mas você deverá fazer isso usando uma espécie de coordenadas para identificar a posição do que procura. Vamos aos exemplos.
<?php
//estrutura da função
$resultado = substr("$string", start, length);
?>
Usando um start negativo
<?php
$rest = substr("abcdef", -1); // retorna "f"
$rest = substr("abcdef", -2); // retorna "ef"
$rest = substr("abcdef", -3, 1); // retorna "d"
?>
Usando um length negativo
<?php
$rest = substr("abcdef", 0, -1); // retorna "abcde"
$rest = substr("abcdef", 2, -1); // retorna "cde"
$rest = substr("abcdef", 4, -4); // retorna ""
$rest = substr("abcdef", -3, -1); // retorna "de"
?>
Leia o restante deste registro »
Função PHP Para Criar Links Automáticos
Criar um link automático usando o PHP pode ser algo útil. Imagine que você cria um sistema de comentários para notícias, mural de recdos, enfim, e algum usuário coloca um link em seu texto.
Não é muito seguro liberar o HTML em formulários, então, o que essa função faz é pegar os textos que são links e transformá-los em links realmente quando for exibir o conteúdo.
E tudo isso sem o problema de liberar o HTML para os usuários postarem.
function text_to_links ($data='') {
if(empty($data)) { return $data; }
$lines = split("",$data);
if(strpos($data,"<html"))
return $data;
while ( list ($key,$line) = each ($lines)) {
$line = eregi_replace("([ ]|^)www."," http://www.",$line);
$line = eregi_replace("([ ]|^)ftp."," ftp://ftp.",$line);
$line = eregi_replace("(http://[^ )
]+)","<A href="\1" target="_blank">\1</A>",$line);
$line = eregi_replace("(https://[^ )
]+)","<A href="\1" target="_blank">\1</A>",$line);
$line = eregi_replace("(ftp://[^ )
]+)","<A href="\1" target="_blank">\1</A>",$line);
$line = eregi_replace(" ([-a-z0-9_]+(.[_a-z0-9-]+)*@([a-z0-9-]+(.[a-z0-9-]+)+)) "," <A HREF="mailto:\1">\1</A>",$line);
$newText .= $line . "";
}
return $newText;
}
Esta função foi criada por Lucas Barbosa.
Qualquer dúvida, pode postar.
Leia o restante deste registro »
Remover Acentuação e Caracteres Especiais com PHP

Trabalhar com PHP em português não é uma tarefa das mais simples. Isso porque no inglês, a linguagem nativa do PHP, não existem acentos e caracteres especiais como o ç ou ü. Isso deixa qualquer louco da vida!
Trabalhar com PHP em português não é uma tarefa das mais simples. Isso porque no inglês, a linguagem nativa do PHP, não existem acentos e caracteres especiais como o ç ou ü.
De modo que é uma tarefa ingrata muitas vezes para os programadores brasileiros e portugueses criar qualquer tipo de aplicação ou fazer uma integração do site do cliente com uma outra aplicação qualquer devido a incompatibilidade de codificação.
Quando não se está usando utf-8, basta usar esta função que seus problemas estarão resolvidos:
<?php
//retirar acentuação
function remover($a){
$a = eregi_replace("[àáâäã]","a",$a);
$a = eregi_replace("[èéêë]","e",$a);
$a = eregi_replace("[ìíîï]","i",$a);
$a = eregi_replace("[òóôöõ]","o",$a);
$a = eregi_replace("[ùúûü]","u",$a);
$a = eregi_replace("[ÀÁÂÄÃ]","A",$a);
$a = eregi_replace("[ÈÉÊË]","E",$a);
$a = eregi_replace("[ÌÍÎÏ]","I",$a);
$a = eregi_replace("[ÒÓÔÖÕ]","O",$a);
$a = eregi_replace("[ÙÚÛÜ]","U",$a);
$a = eregi_replace("ç","c",$a);
$a = eregi_replace("Ç","C",$a);
$a = eregi_replace("ñ","n",$a);
$a = eregi_replace("Ñ","N",$a);
$a = str_replace("´","",$a);
$a = str_replace("`","",$a);
$a = str_replace("¨","",$a);
$a = str_replace("^","",$a);
$a = str_replace("~","",$a);
return $a;}
?>
Contudo, quando se está usando utf-8 a função acima não funcionará e você terá problemas. Por esta razão, a função abaixo criada pelo Marco Carvalho deverá ser usada nesses casos.
Leia o restante deste registro »
Classe PHP para Formatar Data CPF CNPJ CEP Telefone
Você já deve ter encontrado problemas para trabalhar formatando com o PHP dados como data, CPF, CNPJ, CEP e telefone.
Podemos até criar máscaras com javascript nos campos do form para formatar os dados. Mas não é 100% garantido porque o usuário pode desligar o javascript no navegador dele.
Sendo assim, precisamos formatar os dados também no lado do servidor (server-side) para garantir o bom funcionamento da aplicação.
Por isso apresento a todos uma classe muito boa criada por Daniel Flores Bastos que resolve estes problemas de forma definitiva. A classe é muito prática e fácil, não sendo necessário muito esforço para adequá-la ao que precisamos.
Leia o restante deste registro »
Comparação de datas com PHP e a função strtotime
Muitas pessoas que estão iniciando no PHP têm essa dúvida e acabam achando algo difícil trabalhar com datas. Na verdade, não é tão complicado…
Antes de mais nada, algumas considerações:
1. Em nosso exemplo, temos que saber que se o ano for escrito com 2 dígitos, os valores entre 00-69 serão passados a 2000-2069 e os valores entre 70-99 serão passados a 1970-1999.
2. A data terá de estar obrigatoriamente entre 13-12-1901 20:45:54 GMT e 19-01-2038 03:14:07 GMT. (Estes datas correspondem aos valores mínimos e máximos de um inteiro de 32 bits).
Comparação de datas seguindo os parâmetros acima:
<?php // primeira data $dataI= '2009-09-15'; // trabalhando a primeira data $I= strtotime($dataI ); // segunda data $dataII= '2000-12-25'; // trabalhando a segunda data $II= strtotime($dataII); if ($I == $II) echo $dataI.' = '.$dataII; else echo ($I > $II) ? $dataI.' > '.$dataII : $dataI.' < '.$dataII; ?>
Leia o restante deste registro »





