DEBUG ME user:denis:python:conversion

Conversion (string) texte->HTML

Navigation

#!/usr/bin/env python
#-*- coding: latin1-*-
 
# Denis BRAUSSEN 08-26/mars/2006
 
#*************************************************************************
#
#
# convertit texte en code html
#                 (ex:  é --> é)
#
# TODO: - cf TODO dans sources (if any :)
#       
#
#*************************************************************************
 
from htmlentitydefs import entitydefs  # pour str2html()
 
def str2html(chaine):
        """ return une chaine 'àla html, param: une chaine de type str """
        d = dict([(v,"&%s;" % k) for k,v in entitydefs.items()])
        return  ''.join([d.get(c, c) for c in chaine])
 
def str2htmlPLUS(chaine):
        """ return une chaine 'àla html, param: une chaine de type str 
            en laissant tel quel les balises HTML et leurs contenus (ex: <br>)
            ATTENTION: < et > ne sont donc PAS traduits en entités & avec cette fonction.
            --- Denis BRAUSSEN 18-dec-2006 ---
        """
        d = dict([(v,"&%s;" % k) for k,v in entitydefs.items()])
 
        result=''
        encode=(1==1)
        countflag=0
        for c in chaine:
            if c== '<':
                encode=(1==0)
                result=result+c
                countflag=countflag+1
                continue
            if c== '>':
                encode=(1==1)
                result=result+c
                countflag=countflag-1           
                continue
            if encode:
                result=result+d.get(c, c)
            else:
                result=result+c
 
        if countflag<>0:
            print "ERREUR: nombre de balises ouvrantes/fermantes different dans:"
            print result+'\n'
 
        return result
 
#---------------------------------------------------------<EOF>---