正则表达式在PHP中解析URL类型字符串

Gau*_*rma 0 php regex

我有一个像这样的字符串:

http://www.youtube.com/v/Nnp82q3b844&hl=en_US&fs=1&

而我想提取

Nnp82q3b844

它的一部分,即/ v /和第一个&之间的部分.

是否有简单的方法在PHP中执行此操作?

Pen*_*m10 8

在这种情况下你不需要正则表达式,你可以使用该parse_url函数来完成工作.

<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';

print_r(parse_url($url));

echo parse_url($url, PHP_URL_PATH);
?>
Run Code Online (Sandbox Code Playgroud)

上面的例子将输出:

Array
(
   [scheme] => http
   [host] => hostname
   [user] => username
   [pass] => password
   [path] => /path
   [query] => arg=value
   [fragment] => anchor
)
/path
Run Code Online (Sandbox Code Playgroud)