Seite 1 von 1

[gelöst] Suche Funktion zum Maskieren von HTML Code

Verfasst: Dienstag 6. November 2007, 15:26
von beetronic
Hallo,

für Debugging Zwecke möchte ich gerne den Inhalt einer Variablen (String, welcher HTML Code enthält) in einer HTML Seite ausgeben. Wie kann ich den HTML Code maskieren, damit er nicht als solcher interpretiert wird, sondern lediglich als einfacher Text vom Browser dargestellt wird?

Gibt es dafür in Python eventuell eine Funktion, oder muss ich mir da selber was schreiben?

Gruss + Dank, BT

Verfasst: Dienstag 6. November 2007, 15:48
von rafael
Setze einfach den Mimetype auf 'text/plain'. In CGI-Skripten setzt du dafür vor den Output ein "print 'Content-Type: text/plain'".

Verfasst: Dienstag 6. November 2007, 15:54
von EnTeQuAk
Ich weiß ja nicht, wie bei dir Fehler ausgegeben werden

Aber Grundlegend kannst du HTML-Code in eine HTML-Seite einbetten, indem du ihn durch eine Funktion, wie z.B. die folgende:

Code: Alles auswählen

def escape_html(text):
    chars = [
        (u'&', u'&'),
        (u'<', u'<'),
        (u'>', u'>'),
        (u'"', u'"'),
        (u"'", u''')
    ]

    for char, repl in chars:
        text = text.replace(char, repl)
    return text
... jagst, um HTML-Code durch die entsprechenden HTML-Entities zu ersetzen. Damit werden HTML-Tags als Text dargestellt.

Kommt halt drauf an, was du brauchst.


MfG EnTeQuAk

Verfasst: Dienstag 6. November 2007, 16:23
von beetronic
Hi EnTeQuAk,

Sowas in der Art habe ich gesucht. Dachte es gäbe sowas vielleicht schon als built-in function.

Danke, BT

Verfasst: Dienstag 6. November 2007, 20:10
von rafael
beetronic hat geschrieben: Sowas in der Art habe ich gesucht. Dachte es gäbe sowas vielleicht schon als built-in function.
Das Modul htmlentitydefs enthält ein Dict mit all diesen Ersetzungen.

Verfasst: Dienstag 6. November 2007, 21:39
von mitsuhiko
cgi.escape oder xml.sax.saxutils.escape