09.21.10

Diario de guerra: Normalizar cadenas en ruby

Posted in Diario de guerra at 11:58 am by mawi

Me acabo de encontrar que un webmaster gracioso le dio por añadir tildes en las urls de una web que ando scrapeando y son del rollo http://dominio/index.php?cadena=COPÓN. Al hacer un

Nokogiri::HTML(open(url))

me salta un pedazo de invalid url.

Solucion:

Googleando me encontre en http://stackoverflow.com/questions/522715/removing-accents-diacritics-from-string-while-preserving-other-special-chars-tri y di con la solución

url.mb_chars.normalize(:kd).gsub(/[^\x00-\x7F]/n, ”).to_s

Que te pilla todos los caracteres y sustituye por su version “buena”. No entiendo mucho de expresiones regulares, pero funciona y tiene style :D

Leave a Comment