[라공에디션] 트위터 URL로 임베드하기
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
이건 제일 아래에 붙여넣기 하면 됨
- 이전글[라공에디션] 라공에디터 미사용 스킨에서 큰따옴표 변환 오류 26.03.10
댓글목록
댓글
니루 @tabom0w0