1. 정확한 제품 또는 플러그인 이름
KBoard 6.3
2. 상세 내용
안녕하세요. 요즘은 유튜브 영상을 공유하기 위해 공유 버튼을 눌러 링크를 복사하면 전부 축약형 링크(youtu.be/.....)인데요.
케이보드에서는 기존 youtube.com/.... 일반 링크에 대해서는 자동으로 영상 아이프레임을 만들어주었지만 축약형은 구현되어 있지 않아서 직접 코드를 추가하여 사용하고 있었습니다.
아래 kboard_video_url_to_iframe($content) 함수 중간 부분에 유튜브 축약형 링크 처리 코드를 추가했습니다.
다음 업데이트 때라도 적용됐으면 하는 바람에서 글 올립니다.
파일 경로는 kboard/helper/Functions.helper.php(612번째 줄)입니다.
function kboard_video_url_to_iframe($content){
// 유튜브
$content = preg_replace('/<a(.*)href=\"[a-zA-Z\/\/:\.]*youtube.com\/watch\?v=([a-zA-Z0-9\-_]+)([a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)">(.*)<\/a>/i', 'https://youtube.com/watch?v=$2', $content);
$content = preg_replace("/\s*[a-zA-Z\/\/:\.]*youtube.com\/watch\?v=([a-zA-Z0-9\-_]+)([a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)/i", '<iframe src="https://www.youtube.com/embed/$1" width="560" height="315" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>', $content);
// 유튜브 축약형 링크
$content = preg_replace('/<a(.*)href=\"[a-zA-Z\/\/:\.]*youtu.be\/([a-zA-Z0-9\-_]+)([a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)">(.*)<\/a>/i', 'https://youtu.be/$2', $content);
$content = preg_replace("/\s*[a-zA-Z\/\/:\.]*youtu.be\/([a-zA-Z0-9\-_]+)([a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)/i", '<iframe src="https://www.youtube.com/embed/$1" width="560" height="315" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>', $content);
// 비메오
$content = preg_replace('/<a(.*)href=\"[a-zA-Z\/\/:\.]*vimeo.com\/(\d+)">(.*)<\/a>/i', 'https://vimeo.com/$2', $content);
$content = preg_replace("/\s*[a-zA-Z\/\/:\.]*vimeo.com\/(\d+)/i", '<iframe src="https://player.vimeo.com/video/$1" width="560" height="315" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>', $content);
return $content;
}
방금 6.4버전 올라온 거 확인해보니까 코드가 추가된 것 같네요! 타이밍이 ㅎㅎ 감사합니다.