使用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?>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)