NTTドコモ様_dカーシェア
NTTドコモ様_dカーシェア
2015.06.08

動画URLからIDを抽出する正規表現を書いてみた(YouTube、Vimeo、Vine)

ひろゆき

こんにちは。
夏か冬かで言ったらどちらが好きか?という質問に対して、「夏」と答える人を夏派、「冬」と答える人を冬派というふうに分類するのが趣味のひろゆきです。
僕は根っからの夏派ですが、同じ質問を今までしてきたところ、大体五分五分になりました。不思議ですね。

さて、今回は動画サイトをつくる際に書いた正規表現の備忘録になります。

正規表現とは

文字列のパターンを表現する表記法。文字列の検索・置換を行うときに利用される。
IT用語辞典

というわけで、今回は動画のURLから動画のIDを抜き出す正規表現を利用します。

実際に各動画のURLからIDを抜き出してみる

各動画のURLからIDを抜き出してみましょう。

1. YouTubeのURLからIDを抽出

youtube1

動画再生画面のURLを使用します。

コード

$url = 'https://www.youtube.com/watch?v=opPU2wJIRio';
preg_match('/\?v=([^&]+)/',$url,$match);
$id = $match[1];
echo $id;

preg_matchを使いidを抽出します。
第一引数に正規表現、第二引数に検索対象となる文字列。第三引数に検索結果が返ってきます。
また、返り値は全体にマッチしたテキスト、サブパターンにマッチしたテキストが配列で返ってきますので、値を取り出すときは配列で指定するようにご注意ください。

実行結果

opPU2wJIRio

2. VimeoのURLからIDを抽出

vimeo

YouTubeと同じように動画再生画面のURLを使用します。

コード

$url = 'https://vimeo.com/23574935';
preg_match('/[0-9]+$/',$url,$match);
$id = $match[0];

実行結果

23574935
  • 1
  • 2