我正在努力帮助好友利用他的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中进行替换。
答案 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');
});