Skip to content

Instantly share code, notes, and snippets.

@SOSTheBlack
Created June 24, 2014 17:34
Show Gist options
  • Select an option

  • Save SOSTheBlack/98acc06d632c00132364 to your computer and use it in GitHub Desktop.

Select an option

Save SOSTheBlack/98acc06d632c00132364 to your computer and use it in GitHub Desktop.
function _geraAlias($palavra){
//Transforma uma palavra em uma alias, usada em URL's amigáveis
$palavra = strtolower($palavra);
#Removendo os caracters especiais
$palavra = str_replace(".", "", $palavra);
$palavra = str_replace("/", "", $palavra);
$palavra = str_replace("\\", "", $palavra);
$palavra = str_replace(":", "", $palavra);
$palavra = str_replace("(", "", $palavra);
$palavra = str_replace(")", "", $palavra);
$palavra = str_replace("[", "", $palavra);
$palavra = str_replace("]", "", $palavra);
$palavra = str_replace("{", "", $palavra);
$palavra = str_replace("}", "", $palavra);
$palavra = str_replace("*", "", $palavra);
$palavra = str_replace("%", "", $palavra);
$palavra = str_replace("$", "", $palavra);
$palavra = str_replace("#", "", $palavra);
$palavra = str_replace("@", "", $palavra);
$palavra = str_replace("?", "", $palavra);
$palavra = str_replace("!", "", $palavra);
$palavra = str_replace(",", "", $palavra);
$palavra = str_replace("&", "", $palavra);
$palavra = str_replace(";", "", $palavra);
#transformando espaços em hífens
$palavra = str_replace(" ", "-", $palavra);
$palavra = str_replace("_", "-", $palavra);
#remontando as palavras sem a acentuação
#agudo
$palavra = str_replace("á", "a", $palavra);
$palavra = str_replace("é", "e", $palavra);
$palavra = str_replace("í", "i", $palavra);
$palavra = str_replace("ó", "o", $palavra);
$palavra = str_replace("ú", "u", $palavra);
$palavra = str_replace("á", "a", $palavra);
$palavra = str_replace("é", "e", $palavra);
$palavra = str_replace("í", "i", $palavra);
$palavra = str_replace("ó", "o", $palavra);
$palavra = str_replace("ú", "u", $palavra);
#circunflexo
$palavra = str_replace("â", "a", $palavra);
$palavra = str_replace("ê", "e", $palavra);
$palavra = str_replace("î", "i", $palavra);
$palavra = str_replace("ô", "o", $palavra);
$palavra = str_replace("û", "o", $palavra);
$palavra = str_replace("â", "a", $palavra);
$palavra = str_replace("ê", "e", $palavra);
$palavra = str_replace("î", "i", $palavra);
$palavra = str_replace("ô", "o", $palavra);
$palavra = str_replace("û", "o", $palavra);
#til
$palavra = str_replace("ã", "a", $palavra);
$palavra = str_replace("õ", "o", $palavra);
$palavra = str_replace("ñ", "n", $palavra);
$palavra = str_replace("ã", "a", $palavra);
$palavra = str_replace("õ", "o", $palavra);
$palavra = str_replace("ñ", "n", $palavra);
#grave
$palavra = str_replace("à", "a", $palavra);
$palavra = str_replace("è", "e", $palavra);
$palavra = str_replace("ì", "i", $palavra);
$palavra = str_replace("ò", "o", $palavra);
$palavra = str_replace("ù", "u", $palavra);
$palavra = str_replace("à", "a", $palavra);
$palavra = str_replace("è", "e", $palavra);
$palavra = str_replace("ì", "i", $palavra);
$palavra = str_replace("ò", "o", $palavra);
$palavra = str_replace("ù", "u", $palavra);
#cedilha
$palavra = str_replace("ç", "c", $palavra);
$palavra = str_replace("ç", "c", $palavra);
#trema
$palavra = str_replace("ä", "a", $palavra);
$palavra = str_replace("ë", "e", $palavra);
$palavra = str_replace("ï", "i", $palavra);
$palavra = str_replace("ö", "o", $palavra);
$palavra = str_replace("ü", "u", $palavra);
$palavra = str_replace("ä", "a", $palavra);
$palavra = str_replace("ë", "e", $palavra);
$palavra = str_replace("ï", "i", $palavra);
$palavra = str_replace("ö", "o", $palavra);
$palavra = str_replace("ü", "u", $palavra);
return $palavra;
}
function _traduzAcentos($palavra){
//Tranforma caracteres especiais em codificação
#agudo
$palavra = str_replace("á", "á", $palavra);
$palavra = str_replace("Á", "Á", $palavra);
$palavra = str_replace("é", "é", $palavra);
$palavra = str_replace("É", "É", $palavra);
$palavra = str_replace("í", "í", $palavra);
$palavra = str_replace("Í", "Í", $palavra);
$palavra = str_replace("ó", "ó", $palavra);
$palavra = str_replace("Ó", "Ó", $palavra);
$palavra = str_replace("ú", "ú", $palavra);
$palavra = str_replace("Ú", "Ú", $palavra);
#circunflexo
$palavra = str_replace("â", "â", $palavra);
$palavra = str_replace("Â", "Â", $palavra);
$palavra = str_replace("ê", "ê", $palavra);
$palavra = str_replace("Ê", "Ê", $palavra);
$palavra = str_replace("î", "î", $palavra);
$palavra = str_replace("Î", "î", $palavra);
$palavra = str_replace("ô", "ô", $palavra);
$palavra = str_replace("Ô", "Ô", $palavra);
$palavra = str_replace("û", "û", $palavra);
$palavra = str_replace("Û", "Û", $palavra);
#til
$palavra = str_replace("ã", "ã", $palavra);
$palavra = str_replace("Ã", "Ã", $palavra);
$palavra = str_replace("õ", "õ", $palavra);
$palavra = str_replace("Õ", "Õ", $palavra);
$palavra = str_replace("ñ", "ñ", $palavra);
$palavra = str_replace("Ñ", "Ñ", $palavra);
#grave
$palavra = str_replace("à", "à", $palavra);
$palavra = str_replace("À", "À", $palavra);
$palavra = str_replace("è", "è", $palavra);
$palavra = str_replace("È", "È", $palavra);
$palavra = str_replace("ì", "ì", $palavra);
$palavra = str_replace("Ì", "Ì", $palavra);
$palavra = str_replace("ò", "ò", $palavra);
$palavra = str_replace("Ò", "Ò", $palavra);
$palavra = str_replace("ù", "ù", $palavra);
$palavra = str_replace("Ù", "Ù", $palavra);
#cedilha
$palavra = str_replace("ç", "ç", $palavra);
$palavra = str_replace("Ç", "Ç", $palavra);
#trema
$palavra = str_replace("ä", "ä", $palavra);
$palavra = str_replace("Ä", "Ä", $palavra);
$palavra = str_replace("ë", "ë", $palavra);
$palavra = str_replace("Ë", "Ë", $palavra);
$palavra = str_replace("ï", "ï", $palavra);
$palavra = str_replace("Ï", "Ï", $palavra);
$palavra = str_replace("ö", "ö", $palavra);
$palavra = str_replace("Ö", "Ö", $palavra);
$palavra = str_replace("ü", "ü", $palavra);
$palavra = str_replace("Ü", "Ü", $palavra);
$palavra = $this->_traduzAspas($palavra);
return $palavra;
}
function _refazAcentos($palavra){
//Tranforma caracteres especiais em codificação
#agudo
$palavra = str_replace("á", "á", $palavra);
$palavra = str_replace("Á", "Á", $palavra);
$palavra = str_replace("é", "é", $palavra);
$palavra = str_replace("É", "É", $palavra);
$palavra = str_replace("í", "í", $palavra);
$palavra = str_replace("Í", "Í", $palavra);
$palavra = str_replace("ó", "ó", $palavra);
$palavra = str_replace("Ó", "Ó", $palavra);
$palavra = str_replace("ú", "ú", $palavra);
$palavra = str_replace("Ú", "Ú", $palavra);
#circunflexo
$palavra = str_replace("â", "â", $palavra);
$palavra = str_replace("Â", "Â", $palavra);
$palavra = str_replace("ê", "ê", $palavra);
$palavra = str_replace("Ê", "Ê", $palavra);
$palavra = str_replace("î", "î", $palavra);
$palavra = str_replace("î", "Î", $palavra);
$palavra = str_replace("ô", "ô", $palavra);
$palavra = str_replace("Ô", "Ô", $palavra);
$palavra = str_replace("û", "û", $palavra);
$palavra = str_replace("Û", "Û", $palavra);
#til
$palavra = str_replace("ã", "ã", $palavra);
$palavra = str_replace("Ã", "Ã", $palavra);
$palavra = str_replace("õ", "õ", $palavra);
$palavra = str_replace("Õ", "Õ", $palavra);
$palavra = str_replace("ñ", "ñ", $palavra);
$palavra = str_replace("Ñ", "Ñ", $palavra);
#grave
$palavra = str_replace("à", "à", $palavra);
$palavra = str_replace("À", "À", $palavra);
$palavra = str_replace("è", "è", $palavra);
$palavra = str_replace("È", "È", $palavra);
$palavra = str_replace("ì", "ì", $palavra);
$palavra = str_replace("Ì", "Ì", $palavra);
$palavra = str_replace("ò", "ò", $palavra);
$palavra = str_replace("Ò", "Ò", $palavra);
$palavra = str_replace("ù", "ù", $palavra);
$palavra = str_replace("Ù", "Ù", $palavra);
#cedilha
$palavra = str_replace("ç", "ç", $palavra);
$palavra = str_replace("Ç", "Ç", $palavra);
#trema
$palavra = str_replace("ä", "ä", $palavra);
$palavra = str_replace("Ä", "Ä", $palavra);
$palavra = str_replace("ë", "ë", $palavra);
$palavra = str_replace("Ë", "Ë", $palavra);
$palavra = str_replace("ï", "ï", $palavra);
$palavra = str_replace("Ï", "Ï", $palavra);
$palavra = str_replace("ö", "ö", $palavra);
$palavra = str_replace("Ö", "Ö", $palavra);
$palavra = str_replace("ü", "ü", $palavra);
$palavra = str_replace("Ü", "Ü", $palavra);
$palavra = $this->_traduzAspas($palavra);
return $palavra;
}
function _jstraduzAcentos($palavra){
//Tranforma caracteres especiais em codificação
$palavra = utf8_decode($palavra);
#agudo
$palavra = str_replace("á", "á", $palavra);
$palavra = str_replace("Á", "Á", $palavra);
$palavra = str_replace("é", "é", $palavra);
$palavra = str_replace("É", "É", $palavra);
$palavra = str_replace("í", "í", $palavra);
$palavra = str_replace("Í", "Í", $palavra);
$palavra = str_replace("ó", "ó", $palavra);
$palavra = str_replace("Ó", "Ó", $palavra);
$palavra = str_replace("ú", "ú", $palavra);
$palavra = str_replace("Ú", "Ú", $palavra);
#circunflexo
$palavra = str_replace("â", "â", $palavra);
$palavra = str_replace("Â", "Â", $palavra);
$palavra = str_replace("ê", "ê", $palavra);
$palavra = str_replace("Ê", "Ê", $palavra);
$palavra = str_replace("î", "î", $palavra);
$palavra = str_replace("ÃŽ", "î", $palavra);
$palavra = str_replace("ô", "ô", $palavra);
$palavra = str_replace("Ô", "Ô", $palavra);
$palavra = str_replace("û", "û", $palavra);
$palavra = str_replace("Û", "Û", $palavra);
#til
$palavra = str_replace("ã", "ã", $palavra);
$palavra = str_replace("Ã", "Ã", $palavra);
$palavra = str_replace("õ", "õ", $palavra);
$palavra = str_replace("Õ", "Õ", $palavra);
$palavra = str_replace("ñ", "ñ", $palavra);
$palavra = str_replace("Ñ", "Ñ", $palavra);
#grave
$palavra = str_replace("à", "à", $palavra);
$palavra = str_replace("À", "À", $palavra);
$palavra = str_replace("è", "è", $palavra);
$palavra = str_replace("È", "È", $palavra);
$palavra = str_replace("ì", "ì", $palavra);
$palavra = str_replace("ÃŒ", "Ì", $palavra);
$palavra = str_replace("ò", "ò", $palavra);
$palavra = str_replace("Ã’", "Ò", $palavra);
$palavra = str_replace("ù", "ù", $palavra);
$palavra = str_replace("Ù", "Ù", $palavra);
#cedilha
$palavra = str_replace("ç", "ç", $palavra);
$palavra = str_replace("Ç", "Ç", $palavra);
#trema
$palavra = str_replace("ä", "ä", $palavra);
$palavra = str_replace("Ä", "Ä", $palavra);
$palavra = str_replace("ë", "ë", $palavra);
$palavra = str_replace("Ë", "Ë", $palavra);
$palavra = str_replace("ï", "ï", $palavra);
$palavra = str_replace("Ï", "Ï", $palavra);
$palavra = str_replace("ö", "ö", $palavra);
$palavra = str_replace("Ö", "Ö", $palavra);
$palavra = str_replace("ü", "ü", $palavra);
$palavra = str_replace("Ü", "Ü", $palavra);
$palavra = $this->_traduzAspas($palavra);
return $palavra;
}
function _retiraAcentos( $palavra )
{
$palavra = str_replace( 'Á' , 'A' , $palavra );
$palavra = str_replace( 'À' , 'A' , $palavra );
$palavra = str_replace( 'Ã' , 'A' , $palavra );
$palavra = str_replace( 'Â' , 'A' , $palavra );
$palavra = str_replace( 'È' , 'E' , $palavra );
$palavra = str_replace( 'É' , 'E' , $palavra );
$palavra = str_replace( 'Ê' , 'E' , $palavra );
$palavra = str_replace( 'Í' , 'I' , $palavra );
$palavra = str_replace( 'Ì' , 'I' , $palavra );
$palavra = str_replace( 'Î' , 'I' , $palavra );
$palavra = str_replace( 'Ó' , 'O' , $palavra );
$palavra = str_replace( 'Ò' , 'O' , $palavra );
$palavra = str_replace( 'Õ' , 'O' , $palavra );
$palavra = str_replace( 'Ô' , 'O' , $palavra );
$palavra = str_replace( 'Ú' , 'U' , $palavra );
$palavra = str_replace( 'Ù' , 'U' , $palavra );
$palavra = str_replace( 'Û' , 'U' , $palavra );
$palavra = str_replace( 'á' , 'a' , $palavra );
$palavra = str_replace( 'à' , 'a' , $palavra );
$palavra = str_replace( 'ã' , 'a' , $palavra );
$palavra = str_replace( 'â' , 'a' , $palavra );
$palavra = str_replace( 'é' , 'e' , $palavra );
$palavra = str_replace( 'è' , 'e' , $palavra );
$palavra = str_replace( 'ê' , 'e' , $palavra );
$palavra = str_replace( 'ì' , 'i' , $palavra );
$palavra = str_replace( 'í' , 'i' , $palavra );
$palavra = str_replace( 'î' , 'i' , $palavra );
$palavra = str_replace( 'ó' , 'o' , $palavra );
$palavra = str_replace( 'ò' , 'o' , $palavra );
$palavra = str_replace( 'õ' , 'o' , $palavra );
$palavra = str_replace( 'ô' , 'o' , $palavra );
$palavra = str_replace( 'ú' , 'u' , $palavra );
$palavra = str_replace( 'ù' , 'u' , $palavra );
$palavra = str_replace( 'û' , 'u' , $palavra );
$palavra = str_replace( 'ç' , 'c' , $palavra );
$palavra = str_replace( 'Ç' , 'C' , $palavra );
return $palavra;
}
function _jsRefazAcentos($palavra){
$palavra = $this->_jstraduzAcentos($palavra);
$palavra = $this->_refazAcentos($palavra);
return $palavra;
}
function _traduzAspas($palavra){
$palavra = str_replace("\'", "&#039", $palavra);
$palavra = str_replace('\"', '"', $palavra);
$palavra = str_replace("'", "&#039", $palavra);
return $palavra;
}
@wallacesilva
Copy link

acredito que seja melhor usar o slugify mesmo https://github.com/cocur/slugify
eu prefiro usar ele que já faz isso tudo ai.
deixa as urls iguais aos posts do wordpress.
o que o @wandersonwhcr propos pode ajudar em alguns casos, bem legal.

:)

@paulodiovani
Copy link

strtr() ninguém conhece?

@Ziggoto
Copy link

Ziggoto commented Jul 14, 2014

Tem funções que já fazem isso nativamente.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment