javascript - URL 到图像转换

标签 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,则所有 URL 都附加到一张图像(“损坏的”图像)。

怎么了?

最佳答案

请参阅 jsFiddle 以了解如何执行此操作,您需要的代码在 replaceWithImgLinks 函数中

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

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

关于javascript - URL 到图像转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10986575/

相关文章:

javascript - 如何设置 Protractor 测试以使用 Visual Studio 2015 进行调试

javascript - socket.io,动态添加消息处理程序

javascript - 通过Javascript强制改变页面内容

javascript - Jquery `.find()` 找不到 `document` `input` 其值=

javascript - 取消订阅,当两个 observable 互相订阅时

javascript - 查找对象中与给定字符串匹配的所有键的路径

javascript - Safari 扩展 cookie 无法识别/通过

javascript - 是否可以从 Node js 中的同一模块导出构造函数和一些普通函数?

javascript - Three.js:具有缩放和混合效果的 Transition 2 纹理

javascript - 在堆叠条形图上使用 javascript 过滤器 (data.filter) 时,d3 NaN