まず、関連する質問がたくさんあることを知りたいと思いますが、これらのトピックで解答を試みた後、私は"www.youtube/user/" -typeのURLを使ってyoutube vidを抽出するRegex
http://www.youtube.com/user/thedailyenglishshow#p/u/0/B3-Bn4aUXTY
私のPHPコードやパターンのような外観を使用:それでも私は、URLのこの特定のタイプからユーチューブのVIDを抽出するための正規表現が必要私のコードは動作しません何か..
を持っていますこれは:
public function retrieveUserVideo($data) {
$url = $data;
$pattern = '/[^\/]+$/';
//$pattern = '(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+';
preg_match($pattern, $url, $matches);
$result = $matches[1];
return $result;
}
私はこれらのパターンを 'http://gskinner.com/RegExr/'でチェックしていますが、動作するようですが、最初のパターンで空の結果文字列を受け取り、2番目のパターンでは未知の修飾語を取得します'['エラー。私が '#'の間にパターンを置くと、空の文字列の結果が得られます。
表示されているコードに間違いがありますか?私を助けてください、私は本当に必死です!
問題は、正規表現で "()"をキャプチャしていないという問題でした。この質問への答えはあなたを助けるかもしれない –
を動作するはずスティーブンの答え... http://stackoverflow.com/questions/2936467/parse-youtube-video-id-using-preg-match/6382259#6382259 – Benjam