【发布时间】:2012-01-03 06:50:59
【问题描述】:
可能重复:
parse youtube video id using preg_match
Grab the video ID only from youtube's URLs
我现在使用这样的东西,但我得到了很多错误......
$video_id = $_GET['url'];
$video_id = str_replace('http://www.youtube.com/watch?v=','',$video_id);
$video_id = str_replace('&feature=related','',$video_id);
$video_id = str_replace('&feature=fvwrel','',$video_id);
$video_id = str_replace('&hd=1','',$video_id);
$video_id = str_replace('&feature=relmfu','',$video_id);
$video_id = str_replace('&feature=channel_video_title','',$video_id);
$video_id = str_replace('&feature=list_related','',$video_id);
$video_id = str_replace('&playnext=1','',$video_id);
$video_id = str_replace('_player','',$video_id);
问题在于 youtube 有多个 '&feature=' 的 url 变量,也许还有其他变量
我想从 youtube 网址中提取的唯一内容是唯一的视频 ID
例如://www.youtube.com/watch?v=lgT1AidzRWM&feature=related
id 之后或之前什么都没有
有人可以帮我弄吗?
【问题讨论】:
-
@mario 这个问题要求使用字符串替换,而不是正则表达式。
-
@mc10 只是因为他没有意识到还有更安全的方法..
-
@mario 你确实不需要需要使用
preg_match....(见我的回答)
标签: php str-replace