2011-11-29 2 views
-5

로 교체 결과가두 값 사이에 유튜브 링크를 얻을 수 및 iframe

<div class="comment"> 
<iframe width="420" height="315" src="http://www.youtube.com/embed/videoid1?rel=0" frameborder="0" allowfullscreen></iframe> 
random text 
</div> 
<div class="comment"> 
<iframe width="420" height="315" src="http://www.youtube.com/embed/videoid2?rel=0" frameborder="0" allowfullscreen></iframe> 
random text2 
</div> 
+0

@Ktash 미안하지만, rome W는 그것에 대해 대답하지 않았습니다. –

+0

http://jsfiddle.net/shawn31313/aY9XF/7/과 같은 것을 시도해보십시오. .text()를 사용하여 함께 사용하는 방법을 보여줍니다. 그러나 .html()을 사용하면 여전히 코드를 렌더링하지 않습니다. 나는 왜 그런지 모르겠다. – Shawn31313

+1

우리는 귀하가 완전한 해결책을 찾기 위해 커뮤니티에 요청하지 않고 직접이 문제를 해결하려고 시도했다고 생각합니다. – Kev

답변

1

당신은 (바보 - 증거되지 않음) 정규식을 사용할 수 있습니다 + JQuery와을 할 수 있도록 은 [/ 유튜브]는 임베디드 플레이어를 만들 수 있습니다 이를 달성하기위한 방법은및 .html()입니다.

var youtubeTag = /\[youtube]https?:\/\/(?:www\.)?youtu(?:be\.com|\.be)\/(?:watch\?v=|v\/)?([A-Za-z0-9_-]+)([a-zA-Z&=;_+0-9*#-]*?)\[\/youtube]/, 
    youtubeHTML = '<iframe width="420" height="315" src="http://www.youtube.com/embed/$1?rel=0" frameborder="0" allowfullscreen></iframe>'; 
$(".comment").each(function(){ 
    var $this = $(this); 
    $this.html($this.html().replace(youtubeTag, youtubeHTML)) 
}); 

패턴 일치 : youtube.com, youtu.be

  • 얹는 :
  • [youtube]
    • www.
    • 어느이어서 http:// 또는 https://
    • 임의로 시작 슬래시 (/)
    • 선택적 : watch?v= 또는 v/
    • 유튜브 비디오 ID가 (모든 영숫자 문자, 밑줄 및 하이픈)
    • 는 선택적으로 쿼리 문자열/위치 해시의 다른 부분 다음에
    • [/youtube]
  • +0

    링크에 & feature = grec_index가있는 경우 ** [youtube] http://www.youtube.com/watch?v=videoid1&feature=grec_index [/ youtube]와 같이 작동하지 않습니다. ** http://jsfiddle.net/yusaf/uLTzw/1/ –

    +0

    @Yusaf 답변을 업데이트했습니다. '[youtube] .... watch? v = 4568wa와 일치하지 않을 수도 있기 때문에 너무 긴장 패턴 (즉,'. *?', 특히 NOT'. *')을 만드는 것을 조심하십시오. blabla [/youtube]' –

    +0

    편집이 작동하지 않습니다 –

    관련 문제