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/
答案 0 :(得分:1)
试试这个:
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上OR旁边的视频ID和括号的量词。