Davide Muzzarelli

Convertire l’HTML in HTML sicuro

published on 30.11.2006 in * livello avanzato, python, script completi

Scrivendo su di un blog tecnico capita spesso di aver codice da mostrare. In particolare, quando il suddetto codice proprio HTML bisogna provvedere a convertire alcuni caratteri perché altrimenti il browser, riconoscendolo, lo valuta.

In python sono sufficienti pochi comandi per effettuare la conversione:

# legge il file "from.txt" contenente il testo da convertiretext = file('from.txt', 'r').read()

# converte il fileimport cgitext = cgi.escape(text) # converte i caratteritext = text.expandtabs(4) # trasforma i tab in spazi

# salva il testo nel file "to.txt"file('to.txt', 'w').write(text)

Il testo ottenuto può essere così inserito nel proprio blog, o articolo, delimitandolo adeguatamente:

<pre class="code">...inserire il codice qui...</pre>

Per comodità ho già preparato un programma che effettua la conversione da un file all’altro. Le istruzioni possono essere ottenute digitando python html2html -h dalla console.

Il file è il seguente, da eseguire come qualsiasi altro script:

== FILE: html2html.py ==#! /usr/bin/python

__version__ = "1.0"__author__ = "Davide Muzzarelli (info@dav-muz.net)"__copyright__ = "(C) 2006 Davide Muzzarelli. GNU GPL 2."

import sys, cgi

if '-h' in sys.argv or '--help' in sys.argv: print """Usage: html2html SOURCE DEST

html2html.py --v1.0-- Convert a text in order to be used in a HTML page, useful for code postings.

Copyright (c) Davide Muzzarelli, 2006""" sys.exit(0)else: try:     from_file = sys.argv[1]     to_file = sys.argv[2] except:     print "Error: specify the source file and the destination file\nFor more informations please use the -h option."     sys.exit(0)

 # load text = file(from_file, 'r').read()

 # conversion text = cgi.escape(text) text = text.expandtabs(4)

 # save file(to_file, 'w').write(text)

Comments

Una Risposta to “Convertire l’HTML in HTML sicuro”. Tutti gli utenti che hanno commentato hanno accettato le note legali.
  1. pyDanny scrive:

    This is great! I reposted at http://pydanny.blogspot.com/2009/01/useful-python-code-for-blogspot-users.html and shared full credit.

Dicci Cosa Pensi

Lascia un commento qui sotto...

Confermando l'invio accetti di aver letto le note legali e di aderire ad esse.