Snippet: jQuery Linkifier
Here’s a very basic jQuery linkification snippet that I put together recently.
$(document).ready(function() { var linkable_content = $('div#linkable').html().replace(/(https?:\/\/[^ ;|\\*'"!,()<>]+\/?)/g,'<a href="$1">$1</a>'); $('div#linkable').html(linkable_content); });
Now, this can’t be used in all circumstances. It doesn’t check to make sure that you’re not trying to make a link out of the href in a pre-existing link, so it should only really be used when you’re sure that it’s just plain text that you’ll be working with.
I could have done this server-side, but using jQuery to linkify the URLs prevents search engine bots from following the links, which got around the problem I had of wanting some links followed and others ignored.
Updating this snippet to work with a class (.linkable) instead of an id (#linkable), and to include ftp:// URLs is left as an exercise for the reader. ;)
I stumbled on your blog today while trying to solve a css issue. You have written some interesting and helpful content here. I also noticed on your about page that you studied Cognitive Science, and was wondering if you had considered writing about that too?
Btw, I think if you add

to the beginning of your regex, it will take care of the recursive href replacement issue.
— joshvf Apr 23, 02:01 PM #unless you also want to prevent search engines from indexing the linked content, would the nofollow attribute help?
— Sridhar Ratnakumar Feb 27, 01:53 PM #
