jnejunior 1 Denunciar post Postado Fevereiro 2, 2012 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 Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Fevereiro 3, 2012 Fiz uma aqui na corrida :upset: Ficou bizarro, necessita de mais testes, mas deve funcionar. :rolleyes: <?php function slug( $string ) { return preg_replace( array( '/([`^~\'"])/', '/([-]{2,}|[-+]+|[\s]+)/', '/(,-)/' ), array( null, '-', ', ' ), iconv( 'UTF-8', 'ASCII//TRANSLIT', $string ) ); } echo slug( 'frase composta, frase composta' ), '<br/>', slug( 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿRr' ); Saída frase-composta, frase-composta AAAAAAAECEEEEIIIIDNOOOOOOUUUUYThssaaaaaaaeceeeeiiiidnoooooouuuyythyRr Compartilhar este post Link para o post Compartilhar em outros sites
jnejunior 1 Denunciar post Postado Fevereiro 3, 2012 deu certinho mestre, muito obrigado... isso porque foi na correria hein, kkk deu certinho mestre, muito obrigado... isso porque foi na correria hein, kkk Compartilhar este post Link para o post Compartilhar em outros sites