Skip to content

Instantly share code, notes, and snippets.

@SOSTheBlack
Created June 24, 2014 17:34
Show Gist options
  • Save SOSTheBlack/98acc06d632c00132364 to your computer and use it in GitHub Desktop.
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;
}
@alanhoff
Copy link

Só pra dizer que fez mais linhas de códigos.. Quem nunca..

@jeanlucaslima
Copy link

Parabéns, quanta qualidade de código!

Copy link

ghost commented Jun 25, 2014

Fazer com ER ninguém quer...

@andrebian
Copy link

Cê ta ligado que isso dá erro né? Se a string a ser tratada estiver em encoding diferente do browser já era!

@samwx
Copy link

samwx commented Jun 25, 2014

Clap clap clap!

@suissa
Copy link

suissa commented Jun 25, 2014

holy shit!

@netojose
Copy link

Massa bicho. Agora, que tal uma regex?

@richardfeliciano
Copy link

ER você conhece?!

@rafaelcavalcante
Copy link

E aí, vamos ensinar o cara ao invés de zoar? Lembrem-se que ninguém nasceu sabendo (:

Jean, dá uma procurada sobre expressões regulares (regular expressions / regex)

@wandersonwhcr
Copy link

function slugger($content) {
    return preg_replace('/[^a-z0-9]+/', '-', strtolower(trim(iconv('UTF-8', 'ASCII//TRANSLIT', $content))));
}

@luisfredgs
Copy link

O que eu acho mais ridículo nisso são os comentários, opiniões que não somam e nem diminuem.

@frenetic
Copy link

@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