in reply to Link regex
... and yet another way to do it, this time using a subroutine instead of putting everything inside a single RegEx (added readability for those who like that kinda coding style).
my @aTests = (<DATA>); for (@aTests){ s/\]|\[//gm; ### strip off sq brackets s/^\s*|\s*$//gm; ### trim whitespace ### put fields into array ref and spit out href print &spitHref([split /\s*\|\s*/,$_]); print "\n-----\n"; } sub spitHref(){ my $aFields = shift || die"required array ref missing"; my $iFlds = scalar @{$aFields}; return ($iFlds == 0) ? "ERROR: bad data" : ($iFlds == 1) ? qq^<a href="$aFields->[0]">$aFields->[0]</a>^ : ($iFlds == 2) ? qq^<a href="$aFields->[0]">$aFields->[1]</a>^ : ($iFlds == 3) ? qq^<a href="$aFields->[0]" target="$aFields->[2] +">$aFields->[1]</a>^ : 'ERROR: unexpected data' ; }###end_sub __DATA__ [] [www.perlmonks.org] [www1.test.com|test page1] [www2.test.com|test page2|new] [www3.test.com|test page3|] [ www4.test.com | test page4 | ] [ camelCase|Local Link in Blog | new ]
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Link regex
by tachyon (Chancellor) on May 21, 2004 at 12:51 UTC | |
by dimar (Curate) on May 21, 2004 at 16:08 UTC | |
by dimar (Curate) on May 21, 2004 at 16:34 UTC |