0

PHPスクリプトのこのURLを解析する正規表現を作成しようとしています:

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

これを取得するには: B4PZHP0N

誰か助けてくれませんか?前もって感謝します。

4

4 に答える 4

2

PHP を使用しているので、parse_urland を使用するだけsubstrです。

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

デモ: http://ideone.com/f3viH

于 2011-09-09T05:41:23.730 に答える
1

この正規表現を試してください:

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

(エラーは修正されました)

私のideoneまたは私のjsfiddleも参照してください。

于 2011-09-09T05:22:44.973 に答える
0

私は似たようなことをしましたが、もう少し一般的です。したがって、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);
于 2011-11-12T17:51:40.263 に答える
0

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

したがって、一致する場合、B4PZHP0N はキャプチャ バッファ 1 にあります。つまり、$1 です。

于 2011-09-09T05:44:14.593 に答える