到目前为止,我有一个使用正则表达式的代码来替换不应该存在的内容EX:
var a = $('.uTubeE').attr('href').replace(/\(((\s*?.*?)*?)\)/g,'');
$('.uTubeE').attr('href',a).text(a).attr('title',$1);
要从中删除的文字:
<a href="www.url.com(content)">www.url.com(content)</a>
正如您所看到的,我正在尝试使用我删除的内容作为title属性,我知道var a是错误的,因为我正在替换内容。我不知道如何抓住它,因为一旦我这样做,我就可以这么做 -
var correct= $('.uTubeE').attr('href').replace($1);
$('.uTubeE').attr({
href: correct,
title: $1
}).text(correct);
只是不确定如何正确地完成所有操作。
有关使用正则表达式的任何建议和帮助吗?
新版本声明有0个未定义的&gt;
var a = $(forum[yourVersion]+' a[href*="watch?v"]');
for (i = 0; i < a.length; i++) {
var xyx = a[i].href.match(/\(((\s*?.*?)*?)\)/);
var b = a[i].href.replace(new RegExp("watch\\?v=", "i"), 'v/');
a[i].href= b;
var cc = b.replace(/(www\.)?youtube.com/, 'img.youtube.com');
var dd = cc.replace('v','vi').replace(xyx[0],'');
a[i].outerHTML= '<a class="uTubeE" rel="vid_gallery" title="'+xyx[1]+'" href="' + b + '"><span class="uTubeE_overlay"></span><img src="'+ dd +'/0.jpg"/></a>';
}
答案 0 :(得分:1)
假设只有一个带括号的东西要删除,请使用exec
:
var href = $('.uTubeE').attr('href');
var match = /\(((\s*?.*?)*?)\)/.exec(href);
现在您的内容位于match[1]
,您可以通过
href
href =
href.substring(0, match.index) +
href.substring(match.index + match[0].length);
$('.uTubeE').attr('href', href);