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:
<a●href="$&">$&</a>
Replacement text flavors: .NET, JavaScript, Perl |
<a●href="$0">$0</a>
Replacement text flavors: .NET, Java, PHP |
<a●href="\0">\0</a>
Replacement text flavors: PHP, Ruby |
<a●href="\&">\&</a>
Replacement text flavor: Ruby |
<a●href="\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 «<a●href="
»,
where URL
">URL
</a>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.
Get Regular Expressions Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.