注意:这个问题不是询问如何从永久链接中提取post_id。我问的是永久链接的后缀是什么 实际上意味着/代表。
我正在开发一款可以提取Facebook照片/状态的应用。
我使用正则表达式将post_id拉出facebook永久链接,通常看起来像这样:
然而,我不时会注意到一些如下所示的永久链接:
问题: 什么是“:0”?何时/为何会发生?
编辑: facebook帖子的例子: https://www.facebook.com/hehui.lim/posts/10202967332729156
和.. https://www.facebook.com/lengyein/posts/10152174297949341:0
我也注意到可能有:1,:2,:3。
答案 0 :(得分:2)
最后,在我的News Feed上的一些帖子中查找了这样的模式之后,我找到了值得分享的东西。
我的一位朋友上传了4张不同的照片(来自黑莓智能手机应用程序)几乎同时。所有四张照片都有一个单独的固定链接,每条帖子的消息都是'{朋友的名字}添加了一张新照片'。即:
https://www.facebook.com/{friend's username}/posts/p_id:0 //Picture 1
https://www.facebook.com/{friend's username}/posts/p_id:1 //Picture 2
https://www.facebook.com/{friend's username}/posts/p_id:2 //Picture 3
https://www.facebook.com/{friend's username}/posts/p_id:3 //Picture 4
,Facebook也生成了链接:
https://www.facebook.com/{friend's username}/posts/p_id
显示所有4张图片组合在一起并带有消息'{friend's name}添加了4张新照片。'即显示所有4张照片单个帖子。
所以,我猜Facebook会用它将用户在一定时间内逐个添加的各张照片组合在一起。
注意:如果所有四张照片同时添加在一起(我已经尝试过了),这就不一样了。
答案 1 :(得分:2)
我想我知道答案。
对Rahil Arora的信任,他注意到了序列。
场景如下: 第A人应用程序(Fb,Instagram,iPhone图库等)的照片被A人推送到您的Facebook墙上。
B人与A人相连。
B人在他/她的新闻源上看到此更新。如果B点击悬停/点击时间戳,则相对链接将与问题中的场景一样,其他所有内容都与Rahil的答案中所述相同。
答案 2 :(得分:1)
出于类似目的,我使用explode
。
请参阅:http://www.php.net/explode
$str = 'https://www.facebook.com/hehui.lim/posts/10202967332729156:0';
$strEx = explode('/', $str, 6);
$strExId = explode(':', $strEx[5], 2);
echo $strExId[0]; // produces 10202967332729156
Array
(
[0] => https:
[1] =>
[2] => www.facebook.com
[3] => hehui.lim
[4] => posts
[5] => 10202967332729156:0
)
Array
(
[0] => 10202967332729156
[1] => 0
)