【发布时间】:2012-07-03 11:30:32
【问题描述】:
好的,这是一个有趣的。
在将复制粘贴的 Vimeo URL 输入到输入框中时,我需要弄清楚用户引用的是什么来源。对于那些不熟悉的人,Vimeo 目前有 4 个不同的来源,可通过其简单的 API 访问:
属于用户的视频
有效的 URL 结构: http://vimeo.com/user3825208 或 https://vimeo.com/davekiss
属于某个组的视频
有效的 URL 结构: http://vimeo.com/groups/eos550d 或 https://vimeo.com/groups/162
属于某个频道的视频
有效的 URL 结构: http://vimeo.com/channels/hd 或 https://vimeo.com/channels/201
属于相册的视频
有效的 URL 结构: http://vimeo.com/album/1919683 或 https://vimeo.com/album/mycustomname
所以基本上,我希望能够将 URL 运行到一个函数中,该函数将告诉我 URL 属于哪个源。
我一直将它用于属于某个用户的视频,但现在我需要扩展到所有来源。
sscanf(parse_url($url, PHP_URL_PATH), '/%d', $video_id);
也许我应该这样做四次? preg_match('???', $url);
感谢您的帮助!
【问题讨论】:
-
显示你目前拥有的正则表达式
-
我的方法是让用户告诉我他们在另一个下拉框(组、专辑、频道或用户名)中使用了什么,但我想简化它。我的正则表达式很差,但我之前得到了
/^(http|https):\/\/(www\.)?vimeo\.com\/(clip\:)?(\d+).*$/处理单个剪辑。