• Publicidad

Crear url semánticas y amigables

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Crear url semánticas y amigables

Notapor danimera » 2017-12-10 17:56 @789

Necesito un código mejor que el mio para crear URL semánticas, ya que el que tengo tiene problemas con los acentos y la letra ñ, y además me quedan en mayúsculas, por ejemplo:

titulo: El niño más hermoso en acción
me queda: EL-NI-O-MAS-HERMOSO-EN-ACCI-N

Este es mi código:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. sub urlConverter {
  2.         my $selft = shift;
  3.         my $titulo = uc(shift);
  4.  
  5.  
  6.         $titulo = textoEncoded($titulo);
  7.  
  8.         $titulo =~ tr/áéíóúñÁÉÍÓÚÑÂÊÎÔÛâêîôûÄËÏÖÜäëïöü/AEIOUNAEIOUNAEIOUAEIOUAEIOUAEIOU/;
  9.         $titulo =~ s/\W/-/g;
  10.         $titulo =~ s/-{2,}/-/g;
  11.         $titulo =~ s/^(-)(.*)(-)$/$2/;
  12.  
  13.         return  $titulo ;
  14. }
  15. sub textoEncoded {
  16.         my $texto = shift;
  17.  
  18.         $texto = decode_entities($texto);
  19.         utf8::decode($texto);
  20.  
  21.         return $texto;
  22. }
  23.  
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Gracias.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Publicidad

Re: Crear url semánticas y amigables

Notapor explorer » 2017-12-10 22:38 @985

Es el primer tr/// el que te pasa las letras a mayúsculas.

Con esta combinación creo que se puede resolver:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use v5.26;
  2. use utf8;
  3.  
  4. my $x = " El niño más hermoso en  acción ";
  5.  
  6. $x =~ tr[áéíóúñÁÉÍÓÚÑÂÊÎÔÛâêîôûÄËÏÖÜäëïöü]
  7.         [aeiounAEIOUNAEIOUaeiouAEIOUaeiou];
  8. $x =~ tr/ /-/s;         # la opción /s quita los caracteres duplicados
  9. $x =~ s/^-|-$//g;       # quita el inicial y final
  10.  
  11. say $x;         # El-nino-mas-hermoso-en-accion
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Crear url semánticas y amigables

Notapor danimera » 2017-12-11 07:39 @360

¿Eso me soluciona el problema de acentos, tildes y'ñ'? Solo por saber, aún no he probado.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados