2012-11-16 2 views
0

나는 내 일부 사용자가 유튜브 링크를 게시 것으로 나타났습니다 예를후행 #을 제거하는 방법! YouTube ID에서 가져 왔습니까?

http://youtu.be/VYh9cmCOL5w#에 대한 후행

#!

!

그러나 현재 나의 정규식은 동영상 미리보기 이미지에 문제가되는 #!을 제거하지 않습니다.

preg_match("#(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=v\/)[^&\n]+|(?<=v=)[^&\n]+|(?<=youtu.be/)[^&\n]+#", $url, $match); 

사람은 내 현재 코드가 #!을 무시하도록 수정하는 방법에 대한 제안이?

답변

5

당신은 단지 rtrim() 사용할 수 있습니다

$url = rtrim($url, '#!'); 
+0

들으 될 것 -이 것이 바람직 할 것 내 기존 정규 표현식을 수정하여'#!'을 제거 하시겠습니까? – pepe

+0

의미있는 방식은 아니지만 더 빠르고 간단합니다. 하지만 당신이 당신의 정규 표현식을 업데이트 할 수 있다면 코드 라인이 한 줄 줄어들 것입니다. 그래서 그것은 훨씬 더 좋은 방법이 아닙니다. 코드를 유지 관리해야하기 때문에 가장 편안하다고 느끼는 것을하십시오. :) –

0

정규식

\^\(.*?\)\#\!$/ 

다음 교체가 콘데 @ 존 단순히

\1 
관련 문제