当前位置: 首页 > 面试题库 >

PHP Regex获取视频ID?

汤洋
2023-03-14
问题内容

有人可以告诉我如何从网址中获取youtube ID,而不管该网址中还有哪些其他GET变量。


问题答案:

使用parse_url()和parse_str()。

(您几乎可以将正则表达式用于任何东西,但它们很容易出错,因此,如果有专门针对您要完成的功能的PHP函数,请使用它们。)

parse_url接受一个字符串,并将其切成具有大量信息的数组。您可以使用此数组,也可以将所需的一项指定为第二个参数。在这种情况下,我们对查询感兴趣PHP_URL_QUERY

现在我们有了查询,即v=C4kxS1ksqtw&feature=relate,但是我们只需要after之后的部分v=。为此,我们转向parse_str基本上像GET在字符串上一样工作。它接受一个字符串并创建该字符串中指定的变量。在这种情况下$v,并$feature创建。我们只对感兴趣$v

为了安全起见,您不希望将变量中的所有变量都存储parse_url在名称空间中(请参阅mellowsoon的注释)。而是将变量存储为数组的元素,以便您可以控制要存储的变量,并且不会意外覆盖现有变量。

放在一起,我们有:

<?php
$url = "http://www.youtube.com/watch?v=C4kxS1ksqtw&feature=relate";
parse_str( parse_url( $url, PHP_URL_QUERY ), $my_array_of_vars );
echo $my_array_of_vars['v'];    
  // Output: C4kxS1ksqtw
?>


 类似资料:
  • 读取视频信息 如需获取分P,需要以不同页码多次调用本接口 — @fython 调用地址 http://api.bilibili.cn/view 需要 App Key 参数 字段 必选 类型 说明 id true int AV号 page true int 页码 fav false int 是否读取会员收藏状态 (默认 0) 返回 返回值字段 字段类型 字段说明 play int 播放次数 revi

  • 获取视频分类接口目前共两个版本,最新版本为V2。 a.当地址为:http://spark.bokecc.com/api/video/category/v2 需要传递以下参数: 参数 说明 userid 用户 id,不可为空 format 返回格式,xml 或 json 返回数据video包含如下字段: 字段名 说明 category 视频分类信息 category包含如下字段: 字段名 说明 id

  • 通过该接口可以获取指定用户的有效视频的信息,目前共六个版本,最新版本为V6: a.当地址为https://spark.bokecc.com/api/video/v6 需要传递以下参数 参数 说明 userid 用户 id,不可为空 videoid 视频 id,不可为空 imagetype 返回封面截图的类型,默认值:0(0:小图;1:大图) format 返回格式,xml 或 json 返回数据v

  • 请求header GET /v1/videos Authorization:Bearer {ACCESS TOKEN} Content-Type:application/json 注: 请将上方的{ACCESS TOKEN}替换为您的ACCESS TOKEN 可选参数 title=视频名称&act_id=视频所属频道id&manager=频道管理员ID&perPage=每页显示条数&p=页码 可

  • 我试图从html解析视频网址。我正在使用J汤解析来解析它。我想解析 从这个html。我怎样才能从上面的行得到这个内容。 现在我的代码是: 我的代码应该更改什么? 提前谢谢你!

  • https://www.googleapis.com/youtube/v3/search?part=snippet 但对于某些频道,它不获取视频,只获取播放列表。如果你转到Youtube频道并点击视频链接,它将显示所有频道的视频。在视频链接下会有一个发布的部分。示例: https://www.googleapis.com/youtube/v3/search?part=snippet 有人知道我怎么