我想用链接替换 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>"));
更新:实际上我正在做一个 bbs,有时人们想发布一个 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]);}