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.

Você gostou? Comente no fórum!

Comentários:

nao_sei disse:

show mico, muito útil essa função...
joia.gif

RCLumbriga disse:

Mais uma função by micox que vou implementar no meu site. HE

vlw cara....

Micox disse:

Eu implementei ela aqui no portal do iEv a pouco tempo joia.gif (em conjunto com as url amigáveis - depois faço um tuto disso também original.gif )

eugui disse:

Micox..achei um bug nessa funcao sua cara... eu tinha essa string "A Última Cartada", sua funcao me retornou: a-ltima-cartada, oq eu fiz foi:
CODE
('[Úuúùûü]','u',$texto);


coloquei um Ú


[]´z

Ver o restante dos comentários no fórum (e aproveitar pra comentar também !).

Mais recentes em PHP

Zend frameworks - o inicio
Por LeandroBarral - Primeiros passos.....
Classe de conexão com mysql
Por Carutcho - Pô esses dias passei aqui no forum de php pra dar uma...
Decimal para hexadecimal
Por dragun - Exemplo de função recursiva...
Como enviar sms via celular e php da forma mais barata
Por Micox - Tutorial de envio de mensagens de texto através do celular usando php...
Phpmailer - problema em servidores windows
Por PXzin - Tutorial para resolução....

Ver mais Artigos de PHP.

Ver e retirar outras dúvidas no fórum Webly.

Alguns Direitos Reservados | RSS | O Fórum

Webly Portal e Fóruns - Internet + Humana | Design by ArthurHenrique.com