Thread Suche in tags bei unterschiedlicher ReihenfolgeRei: height, width etc in beliebiger (3 answers)
Opened by WiLi at 2004-08-12 15:11

Strat
 2004-08-12 23:34
#29366 #29366
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
wenn du einen tag in einem string hast, koenntest du ihn in etwa folgendermaszen parsen:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
if (my $tag, %attributes) =
 $string =~ m~
 <
 ([a-zA-Z]+) # tag, z.B. td => $1
 (?: # gruppierende klammer (speichert nicht), enthaelt immer ein name/wert-paar
 \s*
 ([a-zA-Z]+) # name => $2, $4, $6, ...
 \s*=\s*
 \"(.+?)\" # wert => $3, $5, %7, ...
 \s*
 )* # ende der gruppierenden klammer; 0-Mal oder oefter
 \s*
 /? # optional: einfacher tag wie bei <img />
 >
~x) {

 # und irgendwas damit machen, z.B. ausgeben
 print "TAG: $tag\n";
 foreach (keys %attributes) {
   print "  $_ => $attributes{$_}\n";
 }
} # if

die schwachstelle von diesem Code ist, dass html aussehen kann wie /)%/(&$( und es vom browser immer noch dargestellt wird... aber bei einigermaszen korrektem Html muesste er eigentlich funktionieren (habe ihn aber nicht getestet)
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/

View full thread Suche in tags bei unterschiedlicher ReihenfolgeRei: height, width etc in beliebiger