I'm looking for something to take a link like


And make it into


so that it can be pasted into a comment automatically. Even better would be if said extension could do the replacement whenever I paste anything into a stack exchange site that looks like a URL.

Does such a thing exist?


Rather than look up the HTML entities for _, (, and ), I just modify the URL to include a backslash before each. To use your example, I take:


and turn it into:


Then use that twice; once inside square brackets, and once inside parenthesis*:


which then becomes:


It's a little convoluted, but I don't have to recall specific entities, run an extension, or do anything that doesn't work cross-browser.

* Preview makes it look as if you don't need this step—but if you skip it, the link in your post won't work.

  • @Billy - looks like a successful test to me. – Dori Dec 30 '10 at 22:48
  • +1 because this makes it easier, but I'm still looking for an extension that can do it. – Billy ONeal Dec 30 '10 at 23:42
  • @Billy - it would be easy enough to write a bookmarklet; let me know if you need one. And if you don't get an answer with an extension, please accept this one. – Dori Dec 30 '10 at 23:58
  • Will do lol. – Billy ONeal Dec 30 '10 at 23:59

I've built a simple Ubiquity (not Chrome, but it is useful to post it here I suppose) command to do this.

Install - Source
(Non-Ubiquity using users will just see a blank page)

Name: encode or url encode

The code is very simple, as JavaScript has it's own encodeURI function, but WMD is a little more strict about what you can put in there - ( ) : are also encoded. If I missed anything just drop a comment here.

var protocol = url.substring(0, url.indexOf('://') + 3)
return protocol + encodeURI(url).substring(url.indexOf('://') + 3).replace(/\(/g, '%28').replace(/\)/g, '%29%').replace(/:/g, '%3A');

I have used bit.ly to shorten the link and got it working.

Anyway I agree that there should be a better way to do it


You can do it with JavaScript's escape() function.

(function() {
    alert(escape(prompt('URL to escape:')));

Bookmarklet format:

(function(){alert(escape(prompt('URL to escape:')));})();

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .