Jump to content

Script para lowercase sem acentos


RuiGomes
 Share

Recommended Posts

Boas,

Estou a desenvolver um sistema de notícias, e precisava de uma forma para passar os títulos das notícias para lowercase, tirando os acentos e cedilhas, e passando os espaços para " - " (como no wordpress)

Exemplo: Isto é um título

Ficaria: isto-e-um-titulo

Qual é a maneira mais fácil de fazer isto?

Cumprimentos,

Rui Gomes

Link to comment
Share on other sites

Boas, podes usar um código semelhante a este:

http://www.wiki.portugal-a-programar.pt/dev_web:php:snippet:retirar_acentos

Para a optimizar, ou tornar mais simples, podes passar todo o conteúdo do URL já em minúsculas, e assim podes remover do array os caracteres maiúsculos. Terás ainda de fazer uma segunda passagem, para substituíres espaços por hifens, e remover o que não sejam números ou letras.

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other sites

Sempre me perguntei se não haveria uma função que não fosse tão hardcoded. Com essa função é tão simples como:

<?php
$texto = "corações e cães";
echo 'TRANSLIT : ', iconv("UTF-8", "ASCII//TRANSLIT", $texto);
?>

output

TRANSLIT : coracoes e caes

Excelente dica NCS_One 😛

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.