Função que gera uma texto limpo pra virar URL:
- limpa acentos e transforma em letra normal
- limpa cedilha e transforma em c normal, o mesmo com o ñ
- transforma espaços em underline (_)
- tira caracteres invalidos
Por exemplo, temos o texto
"O cabeçudo & a máfia é ônti. O cabeçudo & a máfia é ônti.htm"
Que queremos que vire a url
"o-cabecudo-a-mafia-e-onti-o-cabecudo-a-mafia-e-onti.htm"
1) Pegue esta minha função
CODE
function geraUrlLimpa($texto){
/* função que gera uma texto limpo pra virar URL:
- limpa acentos e transforma em letra normal
- limpa cedilha e transforma em c normal, o mesmo com o ñ
- transforma espaços em hifen (-)
- tira caracteres invalidos
by Micox - elmicox.blogspot.com - www.ievolutionweb.com
*/
//desconvertendo do padrão entitie (tipo á para á)
$texto = html_entity_decode($texto);
//tirando os acentos
$texto = eregi_replace('[aáàãâä]','a',$texto);
$texto = eregi_replace('[eéèêë]','e',$texto);
$texto = eregi_replace('[iíìîï]','i',$texto);
$texto = eregi_replace('[oóòõôö]','o',$texto);
$texto = eregi_replace('[uúùûü]','u',$texto);
//parte que tira o cedilha e o ñ
$texto = eregi_replace('[ç]','c',$texto);
$texto = eregi_replace('[ñ]','n',$texto);
//trocando espaço em branco por underline
$texto = eregi_replace('( )','-',$texto);
//tirando outros caracteres invalidos
$texto = eregi_replace('[^a-z0-9\-]','',$texto);
//trocando duplo espaço (hifen) por 1 hifen só
$texto = eregi_replace('--','-',$texto);
return strtolower($texto);
}
2) Chame a função
CODE
$tes = "O cabeçudo & a máfia é ônti. O cabeçudo & a máfia é ônti";
$tes = geraUrlLimpa($tes)."htm";
echo $tes."<br />";
//irá gerar o-cabecudo-a-mafia-e-onti-o-cabecudo-a-mafia-e-onti.htm
Dúvidas, pergunte ae.
Comentários:
nao_sei disse:
RCLumbriga disse:
vlw cara....
Micox disse:
eugui disse:
coloquei um Ú
[]´z
Ver o restante dos comentários no fórum (e aproveitar pra comentar também !).