【发布时间】:2014-03-28 09:10:56
【问题描述】:
我有这个 php 代码可以自动将 youtube 网址转换为视频:
$search = '%
(?:https?://)?
(?:www\.)?
(?:
youtu\.be/
| youtube\.com
(?:
/embed/
| /v/
| /watch\?v=
| /watch\?feature=player_embedded&v=
)
)
([\w\-]{10,12})
\b
%x';
$replace = "<iframe class=\"youtube-player\" width=\"550\" height=\"385\" src=\"http://www.youtube.com/embed/$1\" data-youtube-id=\"$1\" frameborder=\"0\" allowfullscreen></iframe>";
return preg_replace($search, $replace, $url);
去除视频 ID 之后的任何内容的最简单方法是什么?
【问题讨论】:
-
请提供您尝试实现的输出示例
-
你正在使用的是最好的方法。这是考虑到您可以获得的几乎所有 youtube 网址的情况。
-
在尝试获取 URL 的一部分时,我总是尝试使用 php 的
parse_url,在某些情况下它比正则表达式更强大。 -
@LiamDawe 我没有从你的问题中意识到,你总是可以使用一个正常的 url 正则表达式解析器,它通常工作得很好,然后运行
parse_url来获取参数。可能更容易