O'Reilly logo

Regular Expressions Cookbook by Steven Levithan, Jan Goyvaerts

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

7.5. Turn URLs into Links

Problem

You have a body of text that may contain one or more URLs. You want to convert the URLs that it contains into links by placing HTML anchor tags around the URLs. The URL itself will be both the destination for the link and the text being linked.

Solution

To find the URLs in the text, use one of the regular expressions from Recipes 7.2 or 7.4. As the replacement text, use:

<ahref="$&">$&</a>
Replacement text flavors: .NET, JavaScript, Perl
<ahref="$0">$0</a>
Replacement text flavors: .NET, Java, PHP
<ahref="\0">\0</a>
Replacement text flavors: PHP, Ruby
<ahref="\&">\&</a>
Replacement text flavor: Ruby
<ahref="\g<0>">\g<0></a>
Replacement text flavor: Python

When programming, you can implement this search-and-replace as explained in Recipe 3.15.

Discussion

The solution to this problem is very straightforward. We use a regular expression to match a URL, and then replace it with «<ahref="URL">URL</a>», where URL represents the URL that we matched. Different programming languages use different syntax for the replacement text, hence the long list of solutions to this problem. But they all do exactly the same thing. Recipe 2.20 explains the replacement text syntax.

See Also

Recipes 2.21, 3.15, 7.2, and 7.4

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required