php - YouTube网址的preg_match正则表达式部分失败

标签 php youtube preg-match

var_dump(preg_match("/^((http\:\/\/){0,}(www\.){0,}(youtube\.com){1}|(youtu\.be){1}(\/watch\?v\=[^\s]){1})$/", "http://www.youtube.com/watch?v=M7FIvfx5J10"));此代码失败将返回0。为什么?正则表达式有什么问题?您可以在这里测试http://writecodeonline.com/php/

最佳答案

试试这个 :

var_dump(preg_match("/^((http\:\/\/){0,}(www\.){0,}((youtube\.com){1}|(youtu\.be){1})\/watch\?v\=[^\s]*)$/", "http://www.youtube.com/watch?v=M7FIvfx5J10"));

它似乎有效。您忘记了youtube.com / youtu.be或周围的视频ID和括号的量词

关于php - YouTube网址的preg_match正则表达式部分失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20332843/

相关文章:

php - 有人可以提供通用函数来根据给定的偏移量从数组中移动项目吗?

javascript - 防止通过检查元素下载html5视频

android - 在 viewpager 中显示 Youtube 视频

php - 特定英国邮政编码区号所需的 preg_match 正则表达式

php - wordpress:使用 wp_rewrite 添加另一个规则时出现问题

javascript - 提交表单时更新 session 变量。 Ajax 。拉维尔

php - 从 MySQL 表中获取最近的日期

php - 关于 Session var 和共享 SSL 的建议

javascript - YouTube上的Wonder Plugin Carousel多个播放列表请求崩溃

regex - preg_match 数字负数和正数