Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Answer: How do I replace a URL with a clickable hyperlink?

by tipthepizzaguy (Initiate)
on Feb 15, 2002 at 08:32 UTC ( #145643=categorized answer: print w/replies, xml ) Need Help??

Q&A > regular expressions > How do I replace a URL with a clickable hyperlink? - Answer contributed by tipthepizzaguy

Thank you. I found a slightly shorter way based on tachyon's response. (Will open link in new window.)

$text = "Come visit and see what it says."; $text =~ s!(http://[^\s]+)!<a href="$1" target="_new">$1</a>!gi; print $text;

Replies are listed 'Best First'.
Re: Answer: How do I replace a URL with a clickable hyperlink?
by htmanning (Monk) on Apr 06, 2005 at 00:45 UTC
    This code looks great but could someone tell me how to use this code if I don't have the http:// in the text? I have a string of text where it will simply say I want to turn that into Thanks. Tom

      "" is not a URL -- it's a domain.

      Assuming you had first matched the domain (and had it in a variable named $domain) and you knew that all of the domains were using a host named 'www' for protocol 'http', you could use:

      my $link = "<a href='http://www.$domain'>$domain</a>";

      How you match domains is up to you... but I know that I get annoyed when my jabber client thinks that my discussions about perl scripts should be turned into links to websites in Poland.

        Well, here's what I ended up using: $text =~ s!(^\s+\.com)!$1!gi; This works but the only problem is that sometimes I'm grabbing out of a block of text, that also includes an image. In that case, the image code is messed up because the above code looks for white space, then something, then .com, which also matches the html for the image. How can I have the image left along, and the above code applied to Thanks.
Log In?

What's my password?
Create A New User
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (10)
As of 2017-11-21 19:19 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (309 votes). Check out past polls.