Skip to content

Instantly share code, notes, and snippets.

@helisoncruz
Last active August 29, 2015 14:17
Show Gist options
  • Save helisoncruz/99a82d6ad18e44e9696f to your computer and use it in GitHub Desktop.
Save helisoncruz/99a82d6ad18e44e9696f to your computer and use it in GitHub Desktop.
Criando Slugs em PHP
function slug($string,$tabela,$coluna){
if(is_string($string)) {
$string = strtolower(trim(utf8_decode($string)));
$string = str_replace('?','',$string);
$string = str_replace(':','',$string);
$string = str_replace('!','',$string);
$string = str_replace('.','',$string);
$before = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿRr';
$after = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr';
$string = strtr($string, utf8_decode($before), $after);
$replace = array(
'/[^a-z0-9.-]/'=>'-',
'/-+/' =>'-',
'/\-{2,}/'=>''
);
$string = preg_replace(array_keys($replace), array_values($replace), $string);
}
$sel = $this->seleciona("SELECT * FROM ".$tabela." WHERE ".$coluna." LIKE '".$string."%'");
$contar = mysql_num_rows($sel);
if ($contar > 0) {
return $string.'-'.$contar;
}else{
return $string;
}
}
$sel = $conecta->seleciona("SELECT * FROM user WHERE id='".$id."'");
$ln = mysql_fetch_assoc($sel);
if($nome != $ln['nome']){
$slug_user = $conecta->slug($nome,'user','slug');
}else{
$slug_user = $ln['slug'];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment