Thread RegEx für Links: ...schon wieder eine Standardfrage :-)
(7 answers)
Opened by cbxk1xg at 2003-12-03 19:13
[quote=cbxk1xg,03.12.2003, 18:13]
Code: (dl
)
$line =~ s-\www.(.*?)\.(.*?)-<a href="http://www.$1" target ="_blank">http://www.$1</a>-g .* sucht nach null oder mehr Zeichen, wobei durch das ? danach moeglichst wenig Zeichen gefunden werden (also Null). \w steht fuer ein Wortzeichen (a-zA-Z0-9_); bei dir waere also auch 3ww gueltig. www.: der Punkt steht fuer ein beliebiges zeichen, also auch wwwx Du verwendest zwar $1, nicht jedoch $2 was passiert bei deinem Code, wenn da http://xwwote. hereinkommt? Ein klein wenig koenntest du den Scanner folgendermaszen verbessern: Code: (dl
)
1 $line =~ s~ Das mit der wortgrenze ist auch keine Idealloesung, weil da z.B. urls wie www.xyz.de/irgendwas nur www.xyz.de erkennen wuerde.\n\n <!--EDIT|Strat|1070491132--> perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/ |