图像转换的URL

时间:2012-06-11 19:48:07

标签: javascript

我使用此功能将URL转换为输出图像。

function InsertLink(T){
 var Out = '';
 var T1=T;
 var LinkR = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?([^?#]*\.(?:jpg|jpeg|gif|png))/;
 var Pos=0;
 for(var N=0;(N=T1.search(LinkR))!==-1;){
    var S1 = T1.match(LinkR)[0];
    var S1L = S1.length;
    Out += T1.substr(0,N)+"<a href='"+S1+"' target='_blank'><img class='sml' src='"+S1+"' /></a><br />";
    T1 = T1.substr(N+S1L);
    Pos=N+S1L;
 };
 Out+=T1;
 return Out;
}

但它仅适用于帖子正文中的一个网址。如果文本包含多个URL,则所有URL都附加到一个图像(“已损坏”图像)。

怎么了?

1 个答案:

答案 0 :(得分:2)

请参阅jsFiddle了解如何操作,您需要的代码位于replaceWithImgLinks函数

http://jsfiddle.net/C3zF6/1/

我无法让你的正则表达式工作,所以我使用了这里的那个:What is a good regular expression to match a URL?