Formatear string para URL
Os traemos una función con la que convertir un string en una cadena apta para formar una URL (en minúsculas, sin espacios, eñes ni tildes) válida para todas las codificaciones.
Por ejemplo:
Función para convertir strings en cadenas sin eñes ni tildes
->
funcion-para-convertir-strings-en-cadenas-sin-enes-ni-tildes
Esperamos que os sea de utilidad.
CREATE OR REPLACE FUNCTION FORMATURL( S IN VARCHAR2 ) RETURN VARCHAR2 IS
TMP VARCHAR2(255);
BEGIN
TMP:= LOWER(S);
TMP:= REPLACE(TMP,' ','-');
TMP:= REPLACE(TMP,'á','a');
TMP:= REPLACE(TMP,'é','e');
TMP:= REPLACE(TMP,'í','i');
TMP:= REPLACE(TMP,'ó','o');
TMP:= REPLACE(TMP,'ú','u');
TMP:= REPLACE(TMP,'à','a');
TMP:= REPLACE(TMP,'è','e');
TMP:= REPLACE(TMP,'ì','i');
TMP:= REPLACE(TMP,'ò','o');
TMP:= REPLACE(TMP,'ù','u');
TMP:= REPLACE(TMP,'ñ','n');
TMP:= REGEXP_REPLACE (TMP,'[^a-zA-Z0-9\/_-]','-' );
TMP:= REGEXP_REPLACE (TMP,'-+','-' );
TMP:= REGEXP_REPLACE (TMP,'-?(.*)','\1' );
TMP:= REGEXP_REPLACE (TMP,'(.*)-$','\1' );
RETURN TMP;
END FORMATURL;