1

この関数を使用して、出力時に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;
}

ただし、投稿本文の1つのURLに対してのみ機能します。テキストに複数のURLが含まれている場合、すべてのURLが1つの画像(「壊れた」画像)に添付されます。

どうしたの?

4

1 に答える 1

2

それを行う方法についてはjsFiddleを参照してください。必要なコードはreplaceWithImgLinks関数にあります

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

私はあなたの正規表現を機能させるのに苦労したので、ここからのものを使用しました:URLに一致するための良い正規表現は何ですか?

于 2012-06-11T20:16:29.453 に答える