1

URLをリンクに置き換えたいのですが、次のコードは正常に機能しますが、iframe(youtubeなど)に害を及ぼします。アドバイスはありますか?thx

$(".css___div p").html($(".css___div p").html().replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig,"<a href='$1' target='_blank'>$1</a>"));

更新:実際に私は掲示板をやっています、時々pplはyoutubeを投稿したいので、彼らは投稿にiframeを作ります...例:

check out my mv!!!
<iframe width="560" height="315" src="http://www.youtube.com/embed/F1C9zIA50Eo" frameborder="0" allowfullscreen></iframe>
http://youtu.be/F1C9zIA50Eo

http://youtu.be/F1C9zIA50Eoをリンクに変えたいのですが、 http://www.youtube.com/embed/F1C9zIA50Eoに変えたいのですが、ヒントはありますか?どうも

update2:最後に私はコードがiframeに害を及ぼすのを避けるために愚かなトリックをしました:

var var___iframeSRC=$(".css___funk .css___div p iframe").attr("src");
$(".css___div p").html($(".css___div p").html().replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig,"<a href='$1' target='_blank'>$1</a>"));
$(".css___funk .css___div p iframe").attr("src",var___iframeSRC);

update3:すべてのsrcを配列に配置します...しかし、それでも愚かなトリックです。アドバイスは大歓迎です。

arr___iframeSrc=new Array();
$(".css___funk .css___div p iframe").each(function(){
    arr___iframeSrc.push($(this).attr("src"));
});

$(".css___funk .css___div p").html($(".css___funk .css___div p").html().replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig,"<a href='$1' target='_blank'>$1</a>"));

for(var i=0;i<arr___iframeSrc.length;i++){$(".css___funk .css___div p iframe").eq(i).attr("src",arr___iframeSrc[i]);}
4

1 に答える 1

0

フレーム内のリンクを変更したくないということですか?

もしそうなら、あなたは追加する必要があります

if (window.top != window.self) {
    return;
}

スクリプトに

編集

わかった。あなたのコメントから

youtu.be/F1C9zIA50Eoをリンク に変えたいのですが、 youtube.com / embed / F1C9zIA50Eoに変えたいのですが、ヒントはありますか?

私はこれがあなたが探しているものだと信じています:

function replaceURLWithHTMLLinks(text) {
   var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
   return text.replace(exp,"<a href='$1'>$1</a>"); 
}

ソース:プレーンURLをリンクに置き換える方法は?

于 2012-04-23T20:35:12.950 に答える