Limpiar dirección para poder hacer URL-Rewriting

WebProgramacion > Recursos sobre informática y tecnología > Programacion > C# > Limpiar dirección para poder hacer URL-Rewriting
C#
Autor: Dámaso Velázquez Álvarez

El URL-Rewriting es un gran amigo del SEO ya que podremos incluir palabras clave (keywords) en la URL de cada registro de nuestro portal, pero a través de una URL no se puede pasar cualquier caracter.

En el siguiente método (en C#) vamos a pasar un texto en lenguaje natural y utilizando los signos de puntuación típicos del castellano y nos va a devolver una cadena (String) con el texto apropiadamente formateado para usarlo en una URL.

public String GetStringRW(String nombre)
{
    nombre = nombre.ToLower();
    nombre = nombre.Replace("á", "a").Replace("é", "e").Replace("í", "i").Replace("ó", "o").
        Replace("ú", "u").Replace("?",String.Empty).Replace("¿",String.Empty);
    nombre = Regex.Replace(nombre, "[^a-zA-Z0-9]+", "-");
    nombre = Regex.Replace(nombre, "[-]+", "-");
    nombre = Regex.Replace(nombre, "[-]+$", String.Empty);
    return nombre;
}

El método inicialmente pasa a minúsculas todo el texto y posteriormente quita las tildes y signos de interrogación.

En el siguiente paso sustituye cualquier caracter que no sean letras o números por un guión y finalmente elimina los guiones sobrantes (al final de la cadena o dos seguidos).

Podría interesarte...

Limpiar el código HTML de una variable de texto
Método en C# que limpia una variable de tipo String de código HTML sustituyéndolo por String.Empty