Skip to content

Instantly share code, notes, and snippets.

@cagartner
Created June 28, 2013 18:44
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save cagartner/5887009 to your computer and use it in GitHub Desktop.
Save cagartner/5887009 to your computer and use it in GitHub Desktop.
Função para criar url amigável PHP
static function urlAmigavel($nom_tag,$slug="-") {
$string = strtolower($nom_tag);
// Código ASCII das vogais
$ascii['a'] = range(224, 230);
$ascii['e'] = range(232, 235);
$ascii['i'] = range(236, 239);
$ascii['o'] = array_merge(range(242, 246), array(240, 248));
$ascii['u'] = range(249, 252);
// Código ASCII dos outros caracteres
$ascii['b'] = array(223);
$ascii['c'] = array(231);
$ascii['d'] = array(208);
$ascii['n'] = array(241);
$ascii['y'] = array(253, 255);
foreach ($ascii as $key=>$item) {
$acentos = '';
foreach ($item AS $codigo) $acentos .= chr($codigo);
$troca[$key] = '/['.$acentos.']/i';
}
$string = preg_replace(array_values($troca), array_keys($troca), $string);
// Slug?
if ($slug) {
// Troca tudo que não for letra ou número por um caractere ($slug)
$string = preg_replace('/[^a-z0-9]/i', $slug, $string);
// Tira os caracteres ($slug) repetidos
$string = preg_replace('/' . $slug . '{2,}/i', $slug, $string);
$string = trim($string, $slug);
}
return $string;
}
@thsdeveloper
Copy link

Parabéns pela funções, muito usado nos meus projetos!

@Takaharayuri122
Copy link

Parabéns meu caro, devo confessar que te amo

@xand1001
Copy link

Show de bola

@AdrianoRicardo
Copy link

Muito boa! Estou utilizando!

@cagartner
Copy link
Author

😄

@fabiorvs
Copy link

Parabéns, me ajudou muito

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