-
-
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("\'", "'", $palavra); | |
$palavra = str_replace('\"', '"', $palavra); | |
$palavra = str_replace("'", "'", $palavra); | |
return $palavra; | |
} |
Parabéns, quanta qualidade de código!
Fazer com ER ninguém quer...
Cê ta ligado que isso dá erro né? Se a string a ser tratada estiver em encoding diferente do browser já era!
Clap clap clap!
holy shit!
Massa bicho. Agora, que tal uma regex?
ER você conhece?!
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)
function slugger($content) {
return preg_replace('/[^a-z0-9]+/', '-', strtolower(trim(iconv('UTF-8', 'ASCII//TRANSLIT', $content))));
}
O que eu acho mais ridículo nisso são os comentários, opiniões que não somam e nem diminuem.
@luisfredgs +1
Concordo com os comentários de que, ao invés de zoar ajuda-ló a melhorar seu código.
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.
Veja pelo lado bom. Você nunca vai esquecer a ordem dos parâmetros da str_replace() ;D huahua
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 :)
Sensacional :D hauhauahuah
O pior é que deve ter dado trabalho pra fazer isso... =S
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;
}
O Louco meu!!!
O que é isso companheiro?
oh no ¬¬
@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.
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.
:)
strtr()
ninguém conhece?
Tem funções que já fazem isso nativamente.
Só pra dizer que fez mais linhas de códigos.. Quem nunca..