0

这是我得到的错误preg_match() [function.preg-match]: Compilation failed: nothing to repeat at offset 77

这是业务:

$youtubeIdPattern = "#(?<=(?:v|i)=)[a-zA-Z0-9-]+(?=&)|(?<=(?:v|i)\/)[^&\n]+|(?<=embed\/)[^\"&\n]+|(?<=??(?:v|i)=)[^&\n]+|(?<=youtu.be\/)[^&\n]+#";
                $youtubeIdMatch = array();
                if ( isset( $regexMatch[0] ) && $regexMatch[0] != "" ) :
                    preg_match($youtubeIdPattern,$regexMatch[0],$youtubeIdMatch);
                endif;

仅供参考,我们正在尝试仅从 Youtube URL 中获取视频 ID。

4

2 回答 2

3

??,布莱恩!

?如果要匹配文字,则需要转义?

于 2013-03-14T19:11:28.697 回答
3

你连续有 2 个问号(?=??(?- 你的意思是它是一个字面问号 ( \?) 吗?

于 2013-03-14T19:11:48.593 回答