正则表达式添加和替换URL的部分

时间:2012-02-16 18:02:14

标签: regex facebook url

我正在努力帮助好友利用他的Facebook发布到他的网站。我已经设法从他的墙上的RSS源发布帖子,但在Feed中,任何图像都显示为小缩略图。

Facebook图片缩略图与其完整尺寸对应物之间的区别如下:

thumb -https://fbcdn-photos-a.akamaihd.net/hphotos-ak-ash4/378108_348325051862306_118443001517180_1297951_1051469646_s.jpg

full -https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-ash4/ s720x720 / 378008_348325051862306_118443001517180_1297951_1051469646_ n .jpg

我加粗了差异。

所以我正在寻找一种方法来进行替换,而且我认为正则表达式就是这样,但无法绕过这样的事情。

答案和解释会很有帮助。提前谢谢。

编辑:我可能会在jQuery中进行替换。

2 个答案:

答案 0 :(得分:0)

var thumb_url = 'https://fbcdn-photos-a.akamaihd.net/hphotos-ak-ash4/378108_348325051862306_118443001517180_1297951_1051469646_s.jpg';

var full_url = thumb_url.replace(/(\/[^/]*)s\.jpg$/, '/s720x720$1n.jpg');

说明:

/(\/[^/])s.jpg/匹配正斜杠\/,后跟许多非正斜杠字符[^/]*,后跟s.jpg。它捕获从正斜杠到s的所有内容到1美元。

然后它取代整个比赛:  (在这种情况下为/378108_348325051862306_118443001517180_1297951_1051469646_s.jpg

使用/s720x720$1n.jpg,其中$1为:

/378108_348325051862306_118443001517180_1297951_1051469646_

答案 1 :(得分:0)

这是我使用的最终解决方案,以防万一有兴趣。这将从RSS源切换所有Facebook缩略图的图像与其全尺寸对应物:

$("img[src^='https://fbcdn-photos-a.akamaihd.net']")
.each(function()
{ 
  this.src = this.src.replace(/(\/[^/]*)s\.jpg$/, '/s720x720$1n.jpg');
});​