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

Concordo com os comentários de que, ao invés de zoar ajuda-ló a melhorar seu código.

@richardfeliciano
Copy link

Cara, como as pessoas são chatas hoje, ninguém pode zoar ou brincar com alguém que já vem um monte de gente com mimimi do politicamente correto.

@welderlourenco
Copy link

Veja pelo lado bom. Você nunca vai esquecer a ordem dos parâmetros da str_replace() ;D huahua

@guiajlopes
Copy link

Não gostou, faz um fork e um pull request com a alternativa ao invés de ficar zuando o cara! como já falaram ninguém nasce sabendo :)

@cstipkovic
Copy link

Sensacional :D hauhauahuah

@fejfar
Copy link

fejfar commented Jun 25, 2014

O pior é que deve ter dado trabalho pra fazer isso... =S

@jobfun
Copy link

jobfun commented Jun 26, 2014

function txt($link) {

    $trocarIsso = array('à','á','â','ã','ä','å','ç','è','é','ê','ë','ì','í','î','ï','ñ','ò','ó','ô','õ','ö','ù','ü','ú','ÿ','À','�?','Â','Ã','Ä','Å','Ç','È','É','Ê','Ë','Ì','�?','Î','�?','Ñ','Ò','Ó','Ô','Õ','Ö','O','Ù','Ü','Ú','Ÿ',' ',' - ');

    $porIsso = array('a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','n','o','o','o','o','o','u','u','u','y','A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','N','O','O','O','O','O','O','U','U','U','Y','-','');

    $newLink = str_replace($trocarIsso, $porIsso, $link);



    return $newLink;

}

@facilita-tecnologia
Copy link

O Louco meu!!!

@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