Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

html entities

2 réponses
Avatar
Loïc Berthe
Bonjour,

Comment remplacer les caract=E8res sp=E9ciaux d'un fichiers (ex : &) en
balises HTML ( &) ?

merci d'avance.

Lo=EFc

2 réponses

Avatar
Rakotomandimby (R12y) Mihamina
( Thu, 07 Apr 2005 19:18:03 +0200 ) Loïc Berthe :

Comment remplacer les caractères spéciaux d'un fichiers (ex : &) en
balises HTML ( &) ?


Obligé de le faire en python?
Avec d'aute outils c'est plus simple et plus "naturel".

Sinon, il y a le module re et string :

import re
import string

Pour les futures réponses:

- en toute logique (du moins la mienne) il va ouvrir le fichier en lecture
et en ouvrir un autre en écriture

- ce qui fait que le flux de données ne viendra pas de l'entree standard.

- mais si on veut que le script marche aussi bien si on fourni un fichier
en argument _et_ si on l'injecte par l'entrée standard, est ce que ça
alourdi de beaucoup le code?



--
Les serveurs avec 10Mb/s se louent maintenant pour 50 ou 60 Euros par mois!
La preuve http://www.google.fr/search?q=serveur+dedie
Infogerance de serveur dedie http://aspo.rktmb.org/activites/infogerance
(En louant les services de l'ASPO vous luttez contre la fracture numerique)

Avatar
Do Re Mi chel La Si Do
Bonjour !

Tu peux utiliser cet exemple :


# -*- coding: cp1252 -*-

import htmlentitydefs,re,string

def stringhtml(chaine):
emap={}
for i in range(256): emap[chr(i)]= "&%d;" % i

for entity, char in htmlentitydefs.entitydefs.items():
if emap.has_key(char):
emap[char]="&%s;" % entity

def remplace(m,get=emap.get):
return string.join(map(get,m.group()),"")

return re.sub(r'[&<>"x80-xff]+', remplace, chaine)

chaine='abc&déèf"noël'
print chaine
print stringhtml(chaine)


Une fois la fonction mise en place, l'utilisation est simple.

@-salutations

Michel Claveau