I need a Javascript regular expression that scans a block of plain text and returns the text with the URLs as links.
This is what i have:
findLinks: function(s) { var hlink = /\s(ht|f)tp:\/\/([^ \,\;\:\!\)\(\"\'\\f\n\r\t\v])+/g; return (s.replace(hlink, function($0, $1, $2) { s = $0.substring(1, $0.length); while (s.length > 0 && s.charAt(s.length - 1) == '.') s = s.substring(0, s.length - 1); return ' ' + s + ''; })); }
the problem is that it will only match http://www.google.com and NOT google.com/adsense
How could I accomplish both?
I use this a as reference all the time. This guy has 8 regex's you should know.
http://net.tutsplus.com/tutorials/other/8-regular-expressions-you-should-know/
Here is what he uses to look for URL's
/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
He also breaks down what each part does. Very useful for learning regex's and not just getting an answer that works for reasons you don't understand.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With