[라공에디션] 트위터 URL로 임베드하기

<span class="sv_member">니루</span>
니루 @tabom0w0
2026-03-09 23:17
head.sub.php
<head>와 </head> 사이 스크립트 모여있는 곳에 추가
<!-- 트위터 임베드 스크립트 -->
<script src="https://platform.twitter.com/widgets.js" defer></script>


board_common.lib.php
URL 자동링크 변환 function autolink 중 트윗의 고유 코드를 인식할 수 있게 패턴 추가
$text = preg_replace_callback(
    '/https?:\/\/(?:www\.)?(?:twitter\.com|x\.com)\/[A-Za-z0-9_]+\/status\/([0-9]+)(?:\?[^\s<>"']*)?/i',
    function($matches) {
        $tweet_id = $matches[1];
        // 공식 blockquote 임베드 구조 생성
        $html = '<blockquote class="twitter-tweet" data-width="500" data-lang="ko">';
        $html .= '<a href="https://twitter.com/i/status/'.$tweet_id.'"></a>';
        $html .= '</blockquote>';
       
        return $html;
    },

$html = '<blockquote class="twitter-tweet" data-width="500" data-media-max-width="560" data-lang="ko" style="margin: 10px auto;">';

▲ 이걸로 임베드 구조 생성 첫줄에 바꿔 넣으면 동영상이 포함된 트윗일 시 자동으로 영상만 임베딩되게 할 수 있고

$text = preg_replace_callback(
    '/https?:\/\/(?:www\.)?(?:twitter\.com|x\.com)\/[A-Za-z0-9_]+\/status\/([0-9]+)(?:\?[^\s<>"',]*)?(?:,(m))?/i',
    function($matches) {
        $tweet_id = $matches[1];
        $is_video_mode = isset($matches[2]) && strtolower($matches[2]) === 'm';
        
        // 1. 기본 속성 설정
        $data_attr = 'data-width="500" data-lang="ko"';
        
        // 2. ,m 이 붙었을 경우 영상 최적화 속성 추가
        if ($is_video_mode) {
            $data_attr .= ' data-media-max-width="560"';
        }

        // 3. 공식 blockquote 구조 생성
        $html = '<blockquote class="twitter-tweet" ' . $data_attr . ' style="margin: 10px auto;">';
        $html .= '<a href="https://twitter.com/i/status/' . $tweet_id . '"></a>';
        $html .= '</blockquote>';
        
        return $html;
    },
    $text
);

▲ [개량판] 특정 트윗만 영상으로 임베딩하고 싶을 땐 트윗주소 뒤에 ,m 붙여서 구분하게도 가능


ra0-content.css
이건 제일 아래에 붙여넣기 하면 됨
/* 트위터 임베딩용 최소높이 지정, 타임라인 스킨에서 트윗 잘림 방지 */
.twitter-tweet {
    min-height: 320px;
}

개량판 기준 임베딩 테스트

https://x.com/kkulbbang030/status/1959274000443482432?s=20,m

https://x.com/kkulbbang030/status/1959274000443482432?s=20

댓글목록

니루

댓글

니루 @tabom0w0
처음엔 린더님의 임베딩 방법 URL 을 써보고 싶었는데 왜인지 모르겠지만 blockquote 방식만 먹어서 어쩔 수 없이 회귀함... 뭐지... 내 갠홈은 뭐가 불만인거지