正则表达式 - 删除链接包含特定域的“a”标记

时间:2013-08-08 15:48:18

标签: php regex

说我有一些这样的文字:

Lorem Ipsum <a href="http://www.youtube.com/watch?v=E6USO8krrmU">http://www.youtube.com/watch?v=E6USO8krrmU</a> blah blah blah <a href="http://www.google.com" target="_blank">Google</a> it's hot outside  <a href="http://www.youtube.com/watch?v=E6USO8krrmU" class="class1 class2">http://www.youtube.com/watch?v=E6USO8krrmU</a>

..如果href属性包含youtube,我想删除它周围的链接 - 为了这个例子。

输出应为:

Lorem Ipsum http://www.youtube.com/watch?v=E6USO8krrmU blah blah blah <a href="http://www.google.com" target="_blank">Google</a> it's hot outside  http://www.youtube.com/watch?v=E6USO8krrmU

我怎样才能做到这一点?

虽然我引起了你的注意,如果有人有任何关于开始学习正则表达式的好地方的链接,我很乐意听到它。

2 个答案:

答案 0 :(得分:4)

$('a').filter(function() {
    return $(this).attr('href').lastIndexOf('youtube') >= 0;
}).contents().unwrap();

答案 1 :(得分:3)

我最终到达那里:

$string = preg_replace('#<a href="https?://www.youtube.*?>([^>]*)</a>#i', '$1', $string);