Arquivo para July, 2009

Remover acentos e caracteres especiais de string

Olá, hoje irei compartilhar uma função que é bastante usada quando faço upload de arquivos, onde eu tenho que tratar os nomes dos arquivos enviados para o servidor.
Então vamos la para a função.

<?php
/**
	 * Função para retirar acentos, caracteres especiais de uma string
	 * @param $string
	 * @return $string
	 */
	function removerCaracter($string){
	    $string = ereg_replace("[áàâãª]","a",$string);
	    $string = ereg_replace("[ÁÀÂÃ]","A",$string);
	    $string = ereg_replace("[éèê]","e",$string);
	    $string = ereg_replace("[ÉÈÊ]","E",$string);
	    $string = ereg_replace("[íì]","i",$string);
	    $string = ereg_replace("[ÍÌ]","I",$string);
	    $string = ereg_replace("[óòôõº]","o",$string);
	    $string = ereg_replace("[ÓÒÔÕ]","O",$string);
	    $string = ereg_replace("[úùû]","u",$string);
	    $string = ereg_replace("[ÚÙÛ]","U",$string);
	    $string = ereg_replace("ç","c",$string);
	    $string = ereg_replace("Ç","C",$string);
	    $string = ereg_replace("[][><}{)(:;,!?*%~^`&#@]","",$string);
	    $string = ereg_replace(" ","_",$string);

	    return $string;
	}
?>

Agora vou mostrar como utilizar a mesma.

<?php
      $string = "Vamor remover os acentos á Á é É e ç";
      echo removerCaracter($string);

      // saida
     Vamos_remover_os_acentos_a_A_e_E_e_c
?>

Percebam que os acentos foram removidos e os espaços foram substituidos por underline.

Bom espero que tenham gostado. Qualquer dúvida, sugestão, reclamação ou qualquer outro assunto estarei a disposição.

Abraços a todos.

Convertendo data com php

Hoje irei postar uma função que uso diariamente. Lembro quando não tinha pensado em nada ainda, como que era dificíl pegar uma data pradrão americano e converter para padrão português. Fazia esse processo para visualizar e para gravar no banco. Mas deixei um pouco a preguiça de lado e fiz uma função bem simples que faz essa conversão de datas.

Segue o codigo:

<?php
    /**
    * Função para converter data
    *
    * @param $data
    * @return $data
    */
    function converterData($data)
    {
        if(substr($data,2,1) == "/")
        {
            $dd = substr($data, 0,2);
            $mm = substr($data, 3,2);
            $aa = substr($data, 6,4);
            $time = substr($data, 11,8);
            if($time != "")
                $data = $aa."-".$mm."-".$dd." ".$time;
            else
                $data = $aa."-".$mm."-".$dd;
        }
        else
        {
            $dd = substr($data, 8,2);
            $mm = substr($data, 5,2);
            $aa = substr($data, 0,4);
            $time = substr($data, 11,8);
            if($time != "")
                $data = $dd."/".$mm."/".$aa." ".$time;
            else
                $data = $dd."/".$mm."/".$aa;
        }
        if($data=='//')
        {
            $data = '';
        }
        return $data;
    }

Simples não?
Vou mostrar como aplicar no seu codigo:

<?php
    $data = "2009-07-08";
    echo converterData($data);
    // saida
    08/07/2009

    $data = "08/07/2009";
    echo converterData($data);
    // saida
    2009-07-08
?>

Caso encontre algum erro ou tenha alguma sugestão de como poder melhorar, poste ai para conversar-mos um pouco. Abraços e até a proxima.

Resumindo textos

Bom, hoje vou postar uma função que me ajudou bastante em um projeto que fazia parte. A função serve para resumir texto de acordo com a quantidade de caracteres que você desejar.

<?php
/**
* Função para resumir textos
*
* @param $str
* @param $n
* @param $delim
* @return $str
*/
function resumo($str, $n, $delim='...')
{
    $len = strlen($str);
    if ($len > $n)
    {
        preg_match('/(.{' . $n . '}.*?)\b/', $str, $matches);
        $str = rtrim($matches[1]) . $delim;
        return $str;
    }
    else
    {
        return $str;
    }
}
?>

Como aplicar a função no seu código:

<?php
    $string = "Marcelo Bento da Rocha.";
    echo resumo($string, 7);

    // resultado
    Marcelo...
?>

Bom espero que essa função ajude alguém. Qualquer dúvida, sugestão e crítica favor postar.
Abraços e até a próxima.

Primerio Post

Bom, para meu primeiro post vou falar um pouco o que vocês vão encontrar aqui.
Pretendo divulgar minhas idéias (principalmente sobre PHP), minhas discobertas, dúvidas etc.
Como de costume vou ensinar como imprimir um Hello World em php.  :)

<?php
    echo "Hello World";
?>