tenho esta função aqui:   function slug( $string ) { if (is_string($string)) { $string = strtolower(trim(utf8_decode($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); } return $string; }   ela esta funcionando belezinha, achei aqui no fórum mesmo, ela tira os acentos, e palavras compostas ela adiciona traços para separar, eu quero usá-la para criar slugs, o que falta que não consegui adaptar foi o seguinte...   tenho um campo de tags no meu formulário, e as tags são separadas por vírgula, e esta função, quando lê uma frase assim: frase composta, frase composta retorna: frase-compostafrase-composta e eu queria que fosse assim: frase-composta, frase-composta   deve ser algo bem pequeno, mas não manjo de RE's