我正在尝试编写一个正则表达式来解析一个 php 脚本的这个 url:
http://www.megavideo.com/v/B4PZHP0Nb2e8a877f8378e778446318596415780
得到这个:B4PZHP0N
有人可以帮忙吗?提前致谢。
我正在尝试编写一个正则表达式来解析一个 php 脚本的这个 url:
http://www.megavideo.com/v/B4PZHP0Nb2e8a877f8378e778446318596415780
得到这个:B4PZHP0N
有人可以帮忙吗?提前致谢。
由于您使用的是 PHP,因此只需使用parse_url
and substr
:
$mega = 'http://www.megavideo.com/v/B4PZHP0Nb2e8a877f8378e778446318596415780';
$want = substr(parse_url($mega, PHP_URL_PATH), 3, 8);
演示:http: //ideone.com/f3viH
/([^:.\/]+)[a-f0-9]{32}/
因此,如果匹配,则 B4PZHP0N 在捕获缓冲区 1 中,即:$1
我做了类似但更通用的事情。所以 id 可以出现在 /v/、?v= 或 &v= 之后
$url = 'http://www.megavideo.com/v/B4PZHP0Nb2e8a877f8378e778446318596415780';
foreach (array('/v/', '?v=', '&v=') as $k)
{
$pos = strpos($url, $k);
if ($pos>0)
{
$pos += strlen($k);
break;
}
}
if (!$pos)
die("not found");
$id = substr($url, $pos, 8);
die($id);