SEやプログラマー達の叫び、 およびプログラム関連のまとめサイトです。
SE・プログラマーな日々

スポンサーサイト

--年--月--日--時--分 スポンサー広告 | TB(-) | CM(-) このエントリーをはてなブックマークに追加
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PHPの正規表現(preg_replace)

2012年10月04日18時20分 PHP(技術) | TB(0) | CM(0) このエントリーをはてなブックマークに追加
110 nobodyさん 2012/09/28(金) 15:56:43.76 ID:IfP/1sSi

質問です
YouTubeのURLから動画のIDだけを抜き出す正規表現を教えてください
ぐぐったらいくらでもヒットするのですが
ヒットしたものはすべてIDに-が付いてると-以降を抜き出せないのです。

例えば
$url = "http://www.youtube.com/watch?v=kEc-jyz6EPA";
$id = preg_replace("/.*v=([\d\w]+).*/","$1","$url");
echo "id = " .$id;

出力結果
id = kEc

よろしくお願いします


111 nobodyさん 2012/09/28(金) 16:02:47.67 ID:???

>>110
\d\w

\d\w\-
じゃだめなの?


112 nobodyさん 2012/09/28(金) 16:07:04.90 ID:???

youtube.*?(/|v%3D|\\?v=)([\w\-]{11})


113 nobodyさん 2012/09/28(金) 16:14:53.62 ID:IfP/1sSi

>>111>>112
ありがとうございます。
$id = preg_replace("/.*v=([\d\w_-]{11})/","$1","$url");
これで完璧でした。間違ってませんよね?


117 nobodyさん 2012/09/28(金) 18:49:00.65 ID:???

>>113
http://www.youtube.com/watch?v=kEc-jyz6EPA&fmt=18 みたいなアドレスの場合、
&の前までが、idに置き換えられるだけなので &以下が消えないよ。
idの後.*でも追加しないと



124 nobodyさん 2012/09/28(金) 23:03:36.48 ID:IfP/1sSi

>>117
ありがとうございます!感謝感謝


関連記事
    コメントの投稿





上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。