在上一个问题中,我对正则表达式的工作原理有了一些模糊的了解,并认为我能够将其与其他字符串一起使用。显然并非如此。下面是名为 mqcontainer
的 div 的内容。
<a style="text-decoration:none;" href="http://i.imgur.com/TeC4R.png"><img src="http://i.imgur.com/TeC4R.png" alt="Posted Image">[br]<small></small></a><small><a href="http://i.imgur.com/TeC4R.png" class="view_full">View Full Image</a></small>
我的目标是过滤掉这个字符串,使得当我点击一个按钮时它显示为[url=http://i.imgur.com/TeC4R.png]Image[/url]
。这是我一直在尝试的:
$("#containerbtn").click(function(){
$("#mqcontainer").each(function(){
$(this).html(
$(this).html().replace(
/<a style="text-decoration:none;" href="(.*?)"><img src=".*?" alt="Posted Image">\[br\]<small><\/small><\/a><small><a href=".*?" class="view_full">View Full Image<\/a><\/small>/g,
'[url=$1]Image[/url]'
)
);
});
});
无论我尝试什么都无法工作。有人可以给我一些关于这个问题的见解吗?
'<a style="text-decoration:none;" href="http://i.imgur.com/TeC4R.png"><img src="http://i.imgur.com/TeC4R.png" alt="Posted Image">\[br\]<small></small></a><small><a href="http://i.imgur.com/TeC4R.png" class="view_full">查看完整图片</a></small>'.replace(/<a style="text-decoration:none;" href="(.*?)"><img src=".*?" alt="Posted Image">\[br\]<small><\/small><\/a><small><a href=".*?" class="view_full">View Full Image<\/a><\/small>/, '[url=$1]图片[/url]')
你可以在Firebug Console中运行它。它使用了转义的[br]。 - powtac]
,而这个字符在您的编辑之前的版本中是不存在的。我已经在我的版本中测试了该字符串(尽管是通过.NET Regex),它可以工作,并且我相信基本上就是Baldrick告诉您要使用的内容。 - Chris