使用PHP中的RegEx从URL获取Facebook的多个视频ID变体
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用PHP中的RegEx从URL获取Facebook的多个视频ID变体,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1992字,纯文字阅读大概需要3分钟。
内容图文
Stack Overflow上已经多次询问过这个问题了,我看了很多,但我发现的所有答案只能找到Facebook网址的一个变体,但我需要确保你可以使用任何一个可以使用的变化.
> https://www.facebook.com/username2/videos/100000000000000
> http://www.facebook.com/photo.php?v=107084586333124
> http://www.facebook.com/photo.php?more=diffictult\u0026amp;v=107084586333124
> http://www.facebook.com/?v=107084586333124
这是我到目前为止所得到的,但它并没有像我预期的那样完全奏效,
https://regex101.com/r/sC6oR2/6
^https?://www.facebook.com/(\?v=\d+)|(.*?/videos/(\d+))$
我对RegEx并不太熟悉,但当我四处寻找时,我试图充分利用它.我也研究过使用parse_url()并且我听说它会比RegEx更好但是因为Facebook有许多不同类型的URL:s.
我非常感谢一些帮助,因为我花了大部分时间试图让它工作,当我得到一份工作我没有得到另一个 – 它让我有一个轻微的头痛.
解决方法:
并不是那么困难,您所描述的格式只有两种.
>视频/身份证
>?v = id
因此,如果它有’视频’,那么只需抓住最后的数字,如果它是?v,从网址抓取v.
<?php
$urls = ['https://www.facebook.com/username2/videos/100000000000000',
'http://www.facebook.com/photo.php?v=107084586333124',
'http://www.facebook.com/photo.php?more=diffictult&v=107084586333124',
'http://www.facebook.com/?v=107084586333124'];
$ids = [];
foreach ($urls as $url) {
$tmp = explode('/', $url);
if (strtolower($tmp[count($tmp) - 2] == 'videos')) {
$ids[$url] = $tmp[count($tmp) - 1];
continue;
}
parse_str(parse_url($url)['query'], $query);
if (!empty($query['v']))
$ids[$url] = $query['v'];
}
print_r($ids);
Array
(
[https://www.facebook.com/username2/videos/100000000000000] => 100000000000000
[http://www.facebook.com/photo.php?v=107084586333124] => 107084586333124
[http://www.facebook.com/photo.php?more=diffictult&v=107084586333124] => 107084586333124
[http://www.facebook.com/?v=107084586333124] => 107084586333124
这是一个函数:
function getID($url) {
$tmp = explode('/', $url);
if (strtolower($tmp[count($tmp) - 2] == 'videos'))
return $tmp[count($tmp) - 1];
parse_str(parse_url($url)['query'], $query);
if (!empty($query['v']))
return $query['v'];
return false;
}
内容总结
以上是互联网集市为您收集整理的使用PHP中的RegEx从URL获取Facebook的多个视频ID变体全部内容,希望文章能够帮你解决使用PHP中的RegEx从URL获取Facebook的多个视频ID变体所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。