Seite 1 von 1
Erkennung von HTML-Code
Verfasst: Samstag 25. Januar 2003, 20:08
von Milan
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

.
Verfasst: Sonntag 26. Januar 2003, 10:18
von piddon
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.
Verfasst: Sonntag 26. Januar 2003, 11:00
von Milan
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.
Verfasst: Sonntag 26. Januar 2003, 11:32
von ASCII158
Verfasst: Sonntag 26. Januar 2003, 11:42
von XT@ngel
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
Verfasst: Sonntag 26. Januar 2003, 11:52
von Milan

ganau so was. Ich verstehe zwar re's, aber das ist mir ein wenig deftig. kannst du mir das bitte mal erklären?

Verfasst: Sonntag 26. Januar 2003, 12:25
von XT@ngel
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
einfache lösung
Verfasst: Samstag 8. Februar 2003, 18:23
von stevg
wenn du nur html verbieten willst, brauchst du einfach nur das < durch
& l t ; erstetzen, dann erkennt der browser den tag nicht mehr.