任何想法我怎样才能获得视频的脸书ID。首先,我有这个,但它总是不起作用,因为有时候有一些东西id。例如。 $ url = https://www.facebook.com/photo.php?v=747864965250852&set=vb.530843830286301&type=2&theater。
$suburl = substr("$url", -15);
现在我有了它,并且效果更好,但有时候有人不会添加https或类似内容。
$suburl = substr ("$url", 37);
所以任何想法如何获得id(15个字符)。您必须考虑该链接并不总是相同。最好的方法是在v =之后我会得到15个字符。
答案 0 :(得分:2)
使用parse_url从url中分割部分:
<?php
$url = "https://www.facebook.com/photo.php?v=747864965250852&set=vb.530843830286301&type=2&theater";
$query = parse_url($url, PHP_URL_QUERY);
parse_str($query, $vars);
var_dump($vars);
输出
array (size=4)
'v' => string '747864965250852' (length=15)
'set' => string 'vb.530843830286301' (length=18)
'type' => string '2' (length=1)
'theater' => string '' (length=0)
有关此功能的更多信息
答案 1 :(得分:0)
这是更好的方式:
/*
* case1: https://www.facebook.com/video.php?v=10153231379946729
* case2: https://www.facebook.com/facebook/videos/10153231379946729
* case3: https://www.facebook.com/facebook/posts/10153231379946729
*/
/* case 1 */
$parts = parse_url($url);
if(isset($parts['query'])){
parse_str($parts['query'], $qs);
if(isset($qs['v'])){
return $qs['v'];
}
}
/*case 2 and 3*/
if(isset($parts['path'])){
$path = explode('/', trim($parts['path'], '/'));
return $path[count($path)-1];
}