gpt4 book ai didi

PHP Regex 获取 youtube 视频 ID?

转载 作者:IT老高 更新时间:2023-10-28 11:45:56 27 4
gpt4 key购买 nike

有人可以告诉我如何从 url 中获取 youtube id,而不管 URL 中还有哪些其他 GET 变量。

以该视频为例:http://www.youtube.com/watch?v=C4kxS1ksqtw&feature=related
所以在 v= 和下一个 &

之前

最佳答案

Use parse_url()parse_str() .

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

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

现在我们有了查询,即 v=C4kxS1ksqtw&feature=relate,但我们只想要 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
?>

Working example


编辑:

呵呵 - 谢谢查尔斯。这让我发笑,我以前从未见过 Zawinski 的名言:

有些人在遇到问题时会想“我知道,我会使用正则表达式”。现在他们有两个问题。杰米·扎温斯基

关于PHP Regex 获取 youtube 视频 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3392993/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com