开发者

How to convert urls in content to be links using javascript

Convert the url in CONENT to be clickable and make it shorter.

For example:

Convert the content

Balabala The link is http://www.google.com/?aaaaabefaaaaaaaaaaaafeeafaeff3asefffffffffff

to

Bala开发者_如何学Gobala The link is <a href=http://www.google.com/?aaaaabefaaaaaaaaaaaafeeafaeff3asefffffffffff>http://www.google.com/?aa...</a>


Something like this may help:

<div id='result'>
</div>
<script>
var content = "The link is http://www.google.com/?q=hello visit it!";
var result = content.replace(/(http:\/\/(www\.)?([^(\s)]+))/, "<a href='$1'>$3</a>");
document.getElementById('result').innerHTML = result;
</script>


Here is a function that replaces any URLs inside a string with an anchor:

function linkify(str){
    var url = 'http://www.google.com/?aaaaabefaaaaaaaaaaaafeeafaeff3asefffffffffff';
    return str.replace(/https?\:\/\/\S+/, function(url){
        var shortUrl = url.substring(0, 20) + '...';
        return shortUrl.link(url)
    })
}

linkify("Balabala The link is http://www.google.com/?aaaaabefaaaaaaaaaaaafeeafaeff3asefffffffffff")
// "Balabala The link is <a href="http://www.google.com/?aaaaabefaaaaaaaaaaaafeeafaeff3asefffffffffff">http://www.google.com/?aaaaabe...</a>"

The "cut" length can be passed as the second argument.


Something like:

len = 15; //set how long of a string you would like to show

url = "http://www.google.com/?aaaaabefaaaaaaaaaaaafeeafaeff3asefffffffffff";

//if the original url is smaller than or equal to the length than do nothing
//otherwise take the len number of chars and append ... after
shorturl = (url.length <= len) ? url : url.substr(0,len) + "..."; 

link = "<a href='" + url + "'>" + shorturl + "</a>";
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜