2012-03-08 2 views
0

안녕하세요 저는 사용자가 생성 한 YouTube URL을 변수로 사용하고 있습니다. 정규 표현식에 관해서는 많은 스레드가 있지만, 그렇지 않은 것은 대부분이지만, 대부분은 js에서 실행됩니다. 여기 내 간단한 함수는, PHP의 모든 서버 측을 실행하려면 :URL의 한 부분을 제거하여 남은 고유 ID를 가져 오는 방법

function youTubeID($url){ 
    $url = preg_replace('http://youtu.be/ Regex goes here', '', $url); 
    return $url; 
} 

마크 업 :

<a href="http://youtu.be/yhXhVMKxnkY"><img src="http://img.youtube.com/vi/'.youTubeID($variable).'/0.jpg" /><img src="play.png" alt="Watch the video" title="Watch the video"/></a> 

질문 : 사람이 http://youtu.be/에 대한 적절한 정규식을 알고 있나요?

나는 이것이 빠른 대답이라고 확신한다. 나는 정규식에 너무 능숙하지 않다. 참고로, 누군가 좋은 정규 표현식을 배울 수있는 좋은 리소스를 알고 있으므로 이렇게 바보 같은 구문 질문을 할 필요가 없습니다. 건배. 여기

+0

가능한 중복 : //stackoverflow.com/questions/2936467/parse-youtube-video-id-using-preg-match) – PeeHaa

+0

실제로 무엇을하고 있는지 당신의 기능에서 분명하지 않습니다. – Madbreaks

+0

[내 대답은 simila r 질문] (http://stackoverflow.com/a/5831191/433790). 좋은 정규식 튜토리얼은 다음에서 찾을 수 있습니다 : [www.regular-expressions.info] (http://www.regular-expressions.info/tutorial.html) – ridgerunner

답변

1

(비교적 느린) RegEx를 사용하는 이유는 무엇입니까?

분명히 시작점이 설정되어 있으므로 함수를 호출 할 때마다 계산할 필요가 없으므로 여기에서 아이디어를 보여줄 수 있습니다.

편집 : 경우

당신이 정규식 사용하는 데 필요한 몇 가지 이유가 :

$url = preg_replace('#http\://youtu\.be/#', '', $url); 

환호가

[분석 유튜브 동영상 ID 사용는 preg_match (HTTP의
+0

위의 정규 표현식은 완벽하게 작동합니다. 정확히 내가 한 것입니다. 감사. – Swordfish0321

0

당신은 갈 :

/(?<=v(\=|\/))([-a-zA-Z0-9_]+)|(?<=youtu\.be\/)([-a-zA-Z0-9_]+)/m 

편집 : woops, 당신은 말할 수 ..

function youTubeID($url){ 
    $pattern = "/(?<=v(\=|\/))([-a-zA-Z0-9_]+)|(?<=youtu\.be\/)([-a-zA-Z0-9_]+)/m"; 
    preg_match($pattern, $ytURL, $url); 
    return $url[0]; 
    } 

을 테스트하기 위해이 항상 나를 위해 북마크되어 http://gskinner.com/RegExr/

: http://www.regular-expressions.info/reference.html

+0

정보를 주셔서 감사합니다 ... 웬일인지 나는 그 ID의 뒤를 쫓아가는 대신 ID를 제거하고 http://youtu.be/를 인쇄합니다. 나는 위에서 언급 한대로 이것을 실행합니다. – Swordfish0321

관련 문제