Remover acentos e caracteres especiais com PHP

jul 27
2009

Hoje me deparei com a necessidade de implementar uma rotina para retirar acentos e caracteres especiais de strings em PHP. Sendo assim vou postar uma função que retorna uma string sem os acentos e sem caracteres especiais. Segue o código:

<?php
    function removeSpecialChars($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;
    }
?>

Exemplo de utilização:

<?php
        echo removeSpecialChars("Paginação"); //Saída: Paginacao
?>

Aceitar apenas números em campos de texto

jul 24
2009

Caros,

Segue uma função em JavaScript bastante útil para fazer com que um campo de texto em HTML aceite apenas números. Essa função é disparada no momento em que o caractere é digitado no campo.

Segue o código:

<script type="text/javascript">
function isCurrentBrowser(browserName)
{
	if(navigator.userAgent.search(browserName) != -1)
		return true;
	else
		return false;
}
 
function blockNaN(evt)
{
    //Capturar o evento do teclado
    if (!evt)
        evt = window.event;
 
    var charCode = "";
 
    //Pegar o código da tecla pressionada:
    //Para isso o javascript tem que verificar qual o navegador do usuário,
    //por conta das incompatibilidades do IE
    if(isCurrentBrowser("MSIE"))
        charCode = evt.keyCode;
    else
        charCode = evt.charCode;
 
    var evtChar = String.fromCharCode(charCode);
 
    //Verifica se o que foi digitado foi número ou não.
    //Verifica se foram pressionadas as teclas 'Enter', 'Backspace', 
    //alguma tecla de função ou de atalho.
    //Se cair em uma dessas condições, o caractere digitado será bloqueado
    if((evtChar.search(/[^0-9]/i) != -1) && (charCode != 0))
    {
        if(isCurrentBrowser("MSIE"))
            evt.returnValue = false;
        else
            evt.preventDefault();
    }
}
</script>
 
<label>Apenas n&uacute;meros:</label>
<br/>
<input type="text" name="teste" id="teste" onkeypress="blockNaN(event);">

Verificar browser com JavaScript

jul 23
2009

Pessoal,

Aqui vai uma função em JavaScript que vai diminuir a dor de cabeça dos desenvolvedores em relação as incompatibilidades entre os dois navegadores mais populares, o Internet Explorer e o Mozilla Firefox.

É uma função que retorna verdadeiro quando o nome do browser, passado por parâmetro na função como String é o browser utilizado pelo usuário.

Isso será muito útil, pois alguns métodos em JavaScript só funcionam no Firefox ou só no Internet Explorer, como exemplo, o preventDefault(), que não funciona no Internet Explorer.

Código:

<script type='text/javascript'>
function isCurrentBrowser(browserName)
{	
	if(navigator.userAgent.search(browserName) != -1)
		return true;
	else
		return false;
}
 
if(isCurrentBrowser("Firefox"))
	alert("Você está utilizando o Firefox");
if(isCurrentBrowser("MSIE"))
	alert("Você está utilizando o Internet Explorer");
if(isCurrentBrowser("Safari"))
	alert("Você está utilizando o Safari");
</script>

Início

jul 23
2009

O BuenoDF.net é o meu novo blog, idealizado para compartilhar experiências em desenvolvimento de sistemas web.

Este é o espaço para discutir e tirar dúvidas sobre desenvolvimento de sistemas web.

Aqui compartilharei também funções muito úteis no dia-a-dia de um desenvolvedor, tais como validações em javascript e em PHP.