我有一个 javascript 函数,用于检测和替换带有锚 (html) 的链接。然而,问题是有些人粘贴了大量的链接,导致页面元素过低,这会破坏页面(通常)。
有谁知道将以下两个功能组合成一个提供锚标记的简单方法,其中包含链接的截断版本?
IE 转换
http://Superlonglink
进入
<a href="http://Superlonglink">http://Super...</a>
使用以下功能的组合:
用锚点替换链接的功能:
function replaceURLWithHTMLLinks(text) {
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
return text.replace(exp,"<a href='$1' target='_blank'>$1</a>");
}
截断字符串的函数:
String.prototype.trunc = function(n){
return this.substr(0,n-1)+(this.length>n?'':'');
};
我已经玩了一段时间了,但是我发现我对 javascript 正则表达式的理解有点有限