正则表达式解析megavideo URL

发布于 2024-12-03 20:10:20 字数 255 浏览 1 评论 0原文

我正在尝试编写一个正则表达式来解析 php 脚本的此网址:

http://www.megavideo.com/v/B4PZHP0Nb2e8a877f8378e778446318596415780

获取此内容:B4PZHP0N

有人可以帮忙吗?提前致谢。

I'm trying to write a regex to parse a this url for a php script:

http://www.megavideo.com/v/B4PZHP0Nb2e8a877f8378e778446318596415780

to get this: B4PZHP0N

Can someone help? Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

a√萤火虫的光℡ 2024-12-10 20:10:20

由于您使用的是 PHP,因此只需使用 parse_urlsubstr

$mega = 'http://www.megavideo.com/v/B4PZHP0Nb2e8a877f8378e778446318596415780';
$want = substr(parse_url($mega, PHP_URL_PATH), 3, 8);

演示:http://ideone.com/f3viH

Since you're in PHP, just use parse_url and substr:

$mega = 'http://www.megavideo.com/v/B4PZHP0Nb2e8a877f8378e778446318596415780';
$want = substr(parse_url($mega, PHP_URL_PATH), 3, 8);

Demo: http://ideone.com/f3viH

你穿错了嫁妆 2024-12-10 20:10:20

尝试这个正则表达式:(

/^http:\/\/www\.megavideo\.com\/v\/(.{8}).*$/

错误已更正)

另请参阅我的 ideone 或我的 jsfiddle

Try this regex:

/^http:\/\/www\.megavideo\.com\/v\/(.{8}).*$/

(The error has been corrected)

Also see my ideone or my jsfiddle.

银河中√捞星星 2024-12-10 20:10:20

/([^:.\/]+)[a-f0-9]{32}/

因此,如果匹配,则 B4PZHP0N 位于捕获缓冲区 1 中,即: $1

/([^:.\/]+)[a-f0-9]{32}/

So if it matches, B4PZHP0N is in capture buffer 1, ie: $1

波浪屿的海角声 2024-12-10 20:10:20

我做过类似的事情,但更通用一些。
所以 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);

I have done something similar but a bit more generic.
so the id can come either after /v/, ?v= or &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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文