jQuery Tweetify Text

Function

$.fn.tweetify = function() {
	this.each(function() {
		$(this).html(
			$(this).html()
				.replace(/((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi,'<a href="$1">$1</a>')
				.replace(/(^|\s)#(\w+)/g,'$1<a href="http://search.twitter.com/search?q=%23$2">#$2</a>')
				.replace(/(^|\s)@(\w+)/g,'$1<a href="http://twitter.com/$2">@$2</a>')
		);
	});
	return $(this);
}

Usage

$("p").tweetify();

Before

<p>@seanhood have you seen this http://icanhascheezburger.com/ #lol</p>

After

<p><a href="http://twitter.com/seanhood">@seanhood</a> have you seen this
<a href="http://icanhascheezburger.com/">http://icanhascheezburger.com/</a>
<a href="http://search.twitter.com/search?q=%23lol">#lol</a></p>

Comments

  1. User Avatar
    Montana Flynn
    Permalink to comment#

    Didn’t work for me, :(

  2. User Avatar
    Jamie
    Permalink to comment#

    Works for me! Thanks:)

    Using:
    Mac OSX Snow Leopard
    Coda 1.6.4

  3. User Avatar
    Mike
    Permalink to comment#

    Works good for me too, thanks Chris!

  4. User Avatar
    Mike
    Permalink to comment#

    How would you hide the ‘http://’ part of the URL from the display text?

    I can’t seem to find a way to replace or remove specific text inside an <a> tag.

    Any help appreciated!

  5. User Avatar
    Jack
    Permalink to comment#

    Perhaps add

    .replace(/(^|\s)$(\w+)/g,'$1<a href="http://search.twitter.com/search?q=%24$2" rel="nofollow">#$27</a>')
    • User Avatar
      Jimmy Rittenborg
      Permalink to comment#

      I were just about to reply that it sound stupid because Google dosent follows javascript links – but thats not true, they DO actually have the ability to follow javascript links:

  6. User Avatar
    Ramon
    Permalink to comment#

    Also very useable for making it happen in PHP! :)

    Thanks.

  7. User Avatar
    m3tr0n
    Permalink to comment#

    Hey guys,

    afaik, I must suggest that the twitter URI should changed to new api, for example “https://twitter.com/#!/search/%23$2” for your href attributes with linked “#$2”.

    The complete function for a twitter-hash will be:
    .replace(/(^|\s)#(\w+)/g,’$1#$2‘)

Submit a Comment

Posting Code

You may write comments in Markdown. This makes code easy to post, as you can write inline code like `<div>this</div>` or multiline blocks of code in triple backtick fences (```) with double new lines before and after.

Code of Conduct

Absolutely anyone is welcome to submit a comment here. But not all comments will be posted. Think of it like writing a letter to the editor. All submitted comments will be read, but not all published. Published comments will be on-topic, helpful, and further the discussion or debate.

Want to tell us something privately?

Feel free to use our contact form. That's a great place to let us know about typos or anything off-topic.

icon-closeicon-emailicon-linkicon-logo-staricon-menuicon-searchicon-staricon-tag