Dieses Modul ermöglicht allgemein gesagt die Umwandlung symbolischer Namen in sogenannte HTML-Entities. Und wie meistens bei <a href="http://www.python.org">Python</a>, ist die Verwendung des Moduls kinderleicht. Wie funktioniert das?
Das Standard-Modul <i>htmlentitydefs</i> bildet die Zeichen des ISO-8859-1-Zeichensatzes ganz schlicht als HTML2.0 Entities ab - und das in Form eines simplen <i>dictionaries</i>.
Trotzdem ist etwas Vorsicht geboten: denn nicht jedes HTML-Entity findet auch wirklich seine Entsprechung im oben erwähnten Zeichensatz (ISO-8859-1). In solchen Fällen werden die Namen dann als numerische Referenzen abgebildet.
Ein kurzes Beispiel untermauert das Gesagte und zeigt gleichzeitig die Verwendung von <i>htmlentitydefs</i>.
<PRE>
#!/usr/bin/env python
import htmlentitydefs
if __name__ == '__main__':
print htmlentitydefs.entitydefs['euro']
print htmlentitydefs.entitydefs['uuml']
</PRE>
Manchmal soll das Ganze aber genau umgekehrt funktionieren - nämlich HTML-Entities müssen als ISO-8859-1-Zeichen dargestellt werden. Auch das ist leicht zu bewerkstelligen.
<PRE>
#!/usr/bin/env python
from htmlentitydefs import entitydefs
if __name__ == '__main__':
iso8859_1 = dict([(v,k) for k,v in entitydefs.items()])
print iso8859_1['\xfc']
print iso8859_1['¬']
</PRE>
Wer noch mehr über das Modul <i>htmlentitydefs</i> wissen muss, der tippt auf der Konsole das folgende Kommando ein (achten Sie darauf, dass Sie möglichst eine neue Python-Version verwenden):
<PRE>
pydoc htmlentitydefs
</PRE>
Viel Erfolg.
Thomas Kaufmann
Das Standard-Modul <i>htmlentitydefs</i> bildet die Zeichen des ISO-8859-1-Zeichensatzes ganz schlicht als HTML2.0 Entities ab - und das in Form eines simplen <i>dictionaries</i>.
Trotzdem ist etwas Vorsicht geboten: denn nicht jedes HTML-Entity findet auch wirklich seine Entsprechung im oben erwähnten Zeichensatz (ISO-8859-1). In solchen Fällen werden die Namen dann als numerische Referenzen abgebildet.
Ein kurzes Beispiel untermauert das Gesagte und zeigt gleichzeitig die Verwendung von <i>htmlentitydefs</i>.
<PRE>
#!/usr/bin/env python
import htmlentitydefs
if __name__ == '__main__':
print htmlentitydefs.entitydefs['euro']
print htmlentitydefs.entitydefs['uuml']
</PRE>
Manchmal soll das Ganze aber genau umgekehrt funktionieren - nämlich HTML-Entities müssen als ISO-8859-1-Zeichen dargestellt werden. Auch das ist leicht zu bewerkstelligen.
<PRE>
#!/usr/bin/env python
from htmlentitydefs import entitydefs
if __name__ == '__main__':
iso8859_1 = dict([(v,k) for k,v in entitydefs.items()])
print iso8859_1['\xfc']
print iso8859_1['¬']
</PRE>
Wer noch mehr über das Modul <i>htmlentitydefs</i> wissen muss, der tippt auf der Konsole das folgende Kommando ein (achten Sie darauf, dass Sie möglichst eine neue Python-Version verwenden):
<PRE>
pydoc htmlentitydefs
</PRE>
Viel Erfolg.
Thomas Kaufmann