Javascript URL到图像的转换

Javascript URL到图像的转换,javascript,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))!==

我使用此函数将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;
}
函数插入链接(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;
对于(var N=0;(N=T1.search(LinkR))!=-1;){
var S1=T1.匹配(LinkR)[0];
var S1L=S1.1长度;
Out+=T1.substr(0,N)+“
”; T1=T1.substr(N+S1L); Pos=N+S1L; }; Out+=T1; 返回; }
但它只适用于帖子正文中的一个URL。如果文本包含多个URL,则将所有URL附加到一个图像(“断开的”图像)


怎么了

查看JSFIDLE了解如何操作,您需要的代码在
replaceWithImgLinks
函数中


我无法让您的正则表达式正常工作,因此我使用了此处的正则表达式:

我发现您甚至没有使用
Pos
。试试这个:replace
vars1=T1.match(LinkR)[0]带有
var S1=T1.匹配(LinkR)[Pos]或该
var S1=N[0]谢谢,但是使用Pos没有任何效果。使用替换功能只需一行代码就可以完成整个过程。只是为了确保您知道,我使用的是不同的正则表达式,它可以选择任何url,而不仅仅是图像,所以我更新了它: