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;
}
@andreisena
Copy link

O que é isso companheiro?

@calebeoliveira
Copy link

oh no ¬¬

@gorzoni
Copy link

gorzoni commented Jun 26, 2014

@lgalves melhor a sua solução.

Regex é coisa do DEMO, enquanto não dominar fuja, quando entender use até o fim que vai te salvar.

@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