Erkennung von HTML-Code

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Hi, ich hab mal wieder eine Frage: Gibt es ein Modul, mit dem ich schnell und einfach erkenne, ob ein String HTML-Code beinhaltet? Wenn ja soll dieser nach Möglichkeit dann nämlich in UBB-Code umgeformt werden, bzw. wenn das nicht möglich ist, soll man das an irgendeinem Rückgabewert erkennen können. Dasselbe Problem hab ich dann auch Rückwärts, aber das ist erstmal egal.
Mir geht es ersteinmal nur um die Erkennung, ob Code in einem String enthalten ist und wenn möglicher welcher Art (transformierbar oder nicht). Mit dem Rest komm ich selber zurecht, was natürlich nicht heißt, das weitere Hilfe verboten ist :wink: :D.
piddon
Gründer
Beiträge: 410
Registriert: Dienstag 30. Juli 2002, 18:03
Wohnort: Oestrich-Winkel
Kontaktdaten:

Benutze doch einen regulären Ausdruck. Suche nach "<" gefolgt von irgentwas mit ">" und natürlich auch ein "</" gefoiolgt von irgentwas und einem ">" ;)

Frag mich bitte nicht wie das geht, RegExe sind nicht meine Stärke, aber das was du machen willst schreit irgentwie danach.
irc: #python.de @ irc.freenode.net | [url=http://pythonwiki.pocoo.org]python-wiki[/url] | [url=http://www.pythonwiki.de/PythonDeForum/Faq]python-forum FAQ[/url]
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

hmm. hab ich mir auch schon gedacht, aber dann weiß ich nicht, ob sich der Code "transformieren" lassen würde, was ich sehr wichtig fände.
ASCII158
User
Beiträge: 80
Registriert: Samstag 28. September 2002, 15:40
Wohnort: München

mfg,

10011110
XT@ngel
User
Beiträge: 255
Registriert: Dienstag 6. August 2002, 14:36
Kontaktdaten:

Meinst du in etwa sowas hier

Code: Alles auswählen

import re
pattern = r"<a href=\"([^\\[]*)\">([^<\[]*)</a>"
str = "Das bitte in <a href=\"test.py\">Link</a> umwandeln"
reg = re.compile(pattern)
st = reg.sub("[url=\\1]\\2[/url]", str)
print st
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

:D ganau so was. Ich verstehe zwar re's, aber das ist mir ein wenig deftig. kannst du mir das bitte mal erklären? :?:
XT@ngel
User
Beiträge: 255
Registriert: Dienstag 6. August 2002, 14:36
Kontaktdaten:

Als erstes wird das modul re eingebunden (reguläre Ausdrücke)
http://www.python.org/doc/current/lib/module-re.html

pattern enthält das Suchmuster das gesucht werden soll.
http://www.python.org/doc/current/lib/re-syntax.html
http://selfhtml.teamone.de/cgiperl/sprache/regexpr.htm

re.compile() übersetzt den textuellen regulären Ausdruck in einen übersetzten regulären Ausdruck
(Frag mich nicht was das bedeutet ;-))

sub() sucht, ersetzt und gibt einen neuen String zurück

Mfg
Andreas
stevg

wenn du nur html verbieten willst, brauchst du einfach nur das < durch
& l t ; erstetzen, dann erkennt der browser den tag nicht mehr.
Antworten