Pasar un fichero txt a html

Hace poco nos encontramos con el problema de pasar un fichero txt a html. Después de estudiar varias soluciones optamos por Txt to Html Converter una solución OpenSource que parecía solucionar nuestros problemas.

Lo instalamos para lo cual necesitamos antes Perl y los módulos:

  • Module::Build
  • Getopt::Long
  • Getopt::ArgvFile
  • Pod::Usage
  • File::Basename

y el propio de la herramienta, nos dispusimos a hacer unas pruebas.

 

¡Qué sorpresa! Aunque prometía cambiar también los famosos acentos que usamos n nuestra lengua de Cervantes, pues no, no lo hacía. Después de mucho indagar, y el principal motivo de incluirlo en el foro, es que aunque según la documentación debería existir un txt2html.dict en algún sitio, éste no existía y daba igual si lo ponías o se lo pasabas como parámetro, ya que en esta versión la conversión la hace en el código.

 

La solución fue buscar el fichero TextToHTML.pm que es donde guarda la conversión (que debería estar en txt2html.dict), que en nuestro caso estaba en /usr/lib/perl5/site_perl/5.8.8/HTML/TextToHTML.pm y modificarle añadiendo las siguientes reglas:

#ACENTOS

 

|á -h-> á

|é -h-> é

|í -h-> í

|ó -h-> ó

|ú -h-> ú

 

|Á -h-> á

|É -h-> é

|Í -h-> í

|Ó -h-> ó

|Ú -h-> ú

 

|ä -h-> ä

|ë -h-> ë

|ï -h-> ï

|ö -h-> ö

|ü -h-> ¨

 

|Ä -h-> Ä

|Ë -h-> Ë

|Ï -h-> Ï

|Ö -h-> Ö

|Ü -h-> &Uml;

 

|â -h-> â

|ê -h-> ê

|î -h-> î

|ô -h-> ô

|û -h-> û

|Â -h-> Â

|Ê -h-> Ê

|Î -h-> Î

|Ô -h-> Ô

|Û -h-> Û

|à -h-> à

|è -h-> è

|ì -h-> ì

|ò -h-> ò

|ù -h-> ù

|À -h-> À

|È -h-> È

|Ì -h-> Ì

|Ò -h-> Ò

|Ù -h-> Ù

|ñ -h-> ñ

|Ñ -h-> Ñ

|Ç -h-> Ç

|\\n -h-> <br>

|¿ -h-> &iquest;

|¡ -h-> &iexcl;