Re: [SAde] RE-Nachhilfe, HTML-Tags

Wolfram Schroeder <[email protected]> Wed, 15 Oct 2003 01:22:46 +0200
Newsgroups gmane.mail.spam.spamassassin.devel.de
Message-ID <[email protected]>
Hi Ingo,

Ingo Wiarda schrieb:
> Am Dienstag 14 Oktober 2003 17:25 schrieb [email protected]:
> 
>>Hi,
>>
>>ich versuche gerade, eine Regel für illegale HTML-Tags zu machen, der Form
>>
>>  </?(irgendwelche Zeichen)?(nicht reguläres Zeichen)(irgendwelche
>>Zeichen)?>
>>
>>um etwa <r%t> oder <kyuz> abfangen zu können. Illegale HTML-Tags in der
>>Form enthalten also ein oder mehrere illegale Zeichen. Reguläre Tag-Namen
>>enthalten ausschließlich Zeichen mit der Character-Klasse
>>
>>  [abcdefhiklmnopqrstuvwx]
>>
> 
> 
> Und was ist mit:
> <acronym>
> <h1>
> <img>
> <style>
> ?

Yup, falsche Character-Klasse gep[ao]stet, sorry :-( [jwxz] scheinen 
nicht vorzukommen in HTML-Tags, die ohne Attribute legal und sinnvoll 
sind. Und wer mir einen Tag "<img>" statt "<img src ..." zuschickt, kann 
ruhig was auf die Nase bekommenen - wobei die End-Tags natürlich ohne 
Attribute sind. Heading-Tags mit ihren Nummern drin sind natürlich noch 
ein zusätzliches Ärgernis.

> Wobei ich auch schon nach einer Regel für Sachen wie:
> "Med</aristotelian>ica<exchangeable>tio</adorn>ns li<bowen>ke="
> gesucht habe.

Ich habe gerade eine Liste von gültigen HTML-Tags fertig gemacht, habe 
damit aber im Grunde das gleiche Problem: Wie fische ich die einfachen 
Tags ohne Attribute raus, die da NICHT hinein passen?

(Hinweis: Performance ist kein so großes Problem, die ganze 5-zeilige RE 
braucht ein Drittel weniger Zeit als ein einziges ".{0,10}aktion", ".+" 
etc. sind nicht effizient)

> Im Moment experimentiere ich mit
> 
> rawbody iw_HTML_GIBBERISH /^.+<[^\s"'=>@]{9}[^>]*>/
> score iw_HTML_GIBBERISH 1
> describe iw_HTML_GIBBERISH found strange HTML-tags.
> # note: the ^.+ is used to prevent matching geekish tags like ^<angry_rant>

"^" steht in RE für "Zeilenanfang", war das Deine Absicht? Aber: Du 
fragst nach mehr als 9 Zeichen, die keine der von Dir eingegebenen 
Sonderzeichen sind, von irgendwas gefolgt werden und in <> 
eingeschlossen sind ... <kyuz> und <k&r> erwischt Du nicht - die hatte 
ich heute und hätte sie gerne erwischt.

Du hast aber ansonsten eine Zeichenklasse verwendet, ich wollte 
eigentlich vermeiden, meine Tastatur nach Sonderzeichen abzusuchen, und 
wie gebe ich gleich noch das Pfund-Zeichen ein ... daher kam ich auf das 
IsPunct.


Also, vielleicht noch mal meine eigentliche Frage, wie mache ich eine 
Regel, die feuert, wenn ein Text zwar einer bestimmten Form <xyz> 
entspricht, xyz dann aber kein gültiges HTML-Tag ist?

> Vielleicht läßt sich dieser Test auf HTML-Mails begrenzen, mal sehen.

Das wäre meine nächste Frage gewesen!

> Ingo

Grüße,
Wolfram



-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php