2012-09-04 3 views
0
나는 임베디드 코드로 유튜브 링크를 회전이 정규식을 사용하고

에 대한 :정규식 유튜브

http://www.youtube.com/watch?v=iXVe-efsYWw&feature=g-feat 
처럼

str.replace(/(?:http:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?)?(?:.+)v=(.+)/g, '<iframe width="420" height="345" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>'); 

그러나 유튜브 링크 V-매개 변수보다 더 많은이 때 작동하지 않습니다

아무도 나를 추가 매개 변수를 절단에 대한 정규식을 변경하는 데 도움이 될 수 있습니까?

+1

무엇을 시도 했습니까? 문제에 대한 연구를 보여줄 필요가 있습니다. 우리는 단지 당신을 위해 일하는 것이 아닙니다. – lanzz

+0

가능한 복제본 : http://stackoverflow.com/questions/2597080/regex-to-parse-youtube-yid?rq=1 – aquinas

+0

내 문제가 해결되었습니다 : [php regex 문자열로 된 모든 YouTube 동영상 ID 찾기] (http :// /stackoverflow.com/questions/5830387/php-regex-find-all-youtube-video-ids-in-string/5831191#5831191) –

답변

0

내가 그를 위해 한 가장 좋은 정규식이 하나입니다

~^.*(?:youtu\.be\/|youtube\.com\/(?:[^\?]*\?(?:.*&)?v=|(?:embed|v|user)\/))([^\?&"\'>]{11}).*$~si 

그룹 1 (\ 1 또는 $ 1)

는 희망이 도움이 위해를 교체합니다. 내가 가지고있는 모든 YouTube URL을 위해 일했습니다. 어떤 것도 알 수 없으므로 더 잘 할 수 있습니다.