2013-10-05 70 views
0

我有一个这样的字符串:如何查找YouTube的所有href链接并将其删除?

I like this video: <a href="http://www.youtube.com/watch?v=o03pXLuPl6A&hd=1">http://www.youtube.com/watch?v=o03pXLuPl6A&hd=1</a> 

我想删除这两个相关的YouTube视频,使用jQuery的文字和链接,所以它看起来像这样:

I like this video:

我怎样才能做到这一点?请记住,需要删除的字符串中可能存在多个链接。谢谢!

回答

7
$('a').each(function(){ 
    if(this.href.match(/youtube\.com/)) $(this).remove(); 
}); 
+0

非常不可能的情况,但是这对于http:// www.example.com/youtube会失败。 – ComFreek

+0

@ComFreek那是真的 – Mina

+0

把'this'改成'$(this)' –

0

这将删除锚元素包含字符串“youtube.com”或“youtu.be”作为自己的HREF的一部分:

$('a').filter(function(){ return /youtube\.com|youtu\.be/.test(this.href); }).remove(); 

...除了它从删除它们文档,你说你有一个字符串文本,这样你就可以在该计划建立如下:

var bodyText = 'I like this video: <a href="http://www.youtube.com/watch?v=o03pXLuPl6A&hd=1">http://www.youtube.com/watch?v=o03pXLuPl6A&hd=1</a>'; 

var tmp = $("<div></div>").html(bodyText); 
tmp.find('a').filter(function(){ return /youtube\.com|youtu\.be/.test(this.href); }) 
      .remove(); 
bodyText = tmp.html(); 

也就是说,创建一个包含有你的字符串作为其内容的新的div jQuery对象,然后应用过滤器并删除锚点,然后将其余内容分配回您的字符串变量。

相关问题