in reply to Adding href where needed.
You should maybe look into URI::Heuristic for completing your links. Something like this:
<a href=http://www.perlmonks.com>http://www.perlmonks.com</a>
using www.perlmonks.com as input.
It also does ftp and others.
ok..it's a bit off what you really asked for but i just noted this module at CPAN and liked it ;o)
Update:
The regex should work on it's own without using the module also, me thinks.
If the user input is www.perlmonks.com or http://www.perlmonks.com it will give you the proper URI. In this case with html code:#!/usr/bin/perl use strict; use URI::Heuristic qw(uf_uristr); my $url = uf_uristr("www.perlmonks.com"); print "<a href=$url>$url</a>\n";
<a href=http://www.perlmonks.com>http://www.perlmonks.com</a>
using www.perlmonks.com as input.
It also does ftp and others.
ok..it's a bit off what you really asked for but i just noted this module at CPAN and liked it ;o)
Update:
This works just fine, also with resolving the url to an uri. You may also drag out the text by enclosing the last .* and drag out the value of $2.#!/usr/bin/perl use URI::Heuristic qw(uf_uristr); use strict; my $url; my $input = "<a href = http://www.perlmonks.com>perlmonks</a>"; #my $input = "www.perlmonks.com"; if ($input =~ /^</) { $input =~ /<a\s+href\s*=\s*(.*)>.*<\/a>/i; $url = uf_uristr("$1"); } else { $url = uf_uristr("$input"); } print "<a href=$url>$url</a>";
The regex should work on it's own without using the module also, me thinks.
|
---|
In Section
Seekers of Perl Wisdom