X 주소 복사하면 자동으로 미리보기 변환 가능한가요?

X 주소 복사하면 자동으로 미리보기 변환 가능한가요?

QA

X 주소 복사하면 자동으로 미리보기 변환 가능한가요?

사용하는 빌더

나리야

그누보드5(영카트) 버전

5.6.15

본문

기존에 쓰던 방식인
https://sir.kr/g5_tip/8738
이것은 다시하려고 하니 X.COM 주소는 받아들여지지 않는데

어떻게해야 미리보기 변환을 할 수 있고 어떤 파일을 수정해야하는지좀 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 2

해당 파일에서 트위터를 x로 변경해보세요.


function url_auto_link($str)
{
    global $g5;
    global $config;
    //Made by Vorfeed
    //인스타, 유튜브, X.com(구 트위터) URL 자동 변환 소스.   
    $regex = '~(?:http|https|)(?::\/\/|)(?:www.|)(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch\?v=|\/ytscreeningroom\?v=|\/feeds\/api\/videos\/|\/user\S*[^\w\-\s]|\S*[^\w\-\s]))([\w\-]{11})[a-z0-9;:@#?&%=+\/\$_.-]*~i';
    $str = preg_replace( $regex, '<iframe width="560" height="315" src="https://www.youtube.com/embed/$1" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>', $str );
    $regex = "/(https?:\/\/www\.)?instagram\.com(\/p\/\w+\/?)/im";
    $str = preg_replace( $regex, '<blockquote class="instagram-media" data-instgrm-captioned data-instgrm-permalink="https://www.instagram.com$2" data-instgrm-version="8"><span style="font-size:20px;text-decoration:none;"> instagram.. <i class="fa fa-cog fa-spin"> </i></span></blockquote> <script async defer src="//www.instagram.com/embed.js"></script>', $str );
    // twitter.com → x.com 변경
    $regex = "/(https?:\/\/(www\.)?)?x\.com\/(?:#!\/)?(\w+)\/status(es)?\/(\d+)/im";
    $str = preg_replace( $regex, '<blockquote class="twitter-tweet" data-lang="ko"> <a href="https://x.com/$3/status/$5" style="text-decoration:none"><span style="font-size:20px;"> x.com.. <i class="fa fa-cog fa-spin"> </i></span></blockquote><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>', $str );
    // 140326 유창화님 제안코드로 수정
    $attr_nofollow = (function_exists('check_html_link_nofollow') && check_html_link_nofollow('url_auto_link')) ? ' rel="nofollow"' : '';
    $str = str_replace(array("<", ">", "&", "\"", " ", "'"), array("\t_lt_\t", "\t_gt_\t", "&", "\"", "\t_nbsp_\t", "'"), $str);
    $str = preg_replace("/([^(href=\"?'?)|(src=\"?'?)]|\(|^)((http|https|ftp|telnet|news|mms):\/\/[a-zA-Z0-9\.-]+\.[가-힣\xA1-\xFEa-zA-Z0-9\.:!=_\?\/~\+%@;\-\|\,\(\)]+)/i", "\\1<A HREF=\"\\2\" TARGET=\"{$config['cf_link_target']}\" $attr_nofollow>\\2</A>", $str);
    $str = preg_replace("/(^|[\"'\s(])(www\.[^\"'\s()]+)/i", "\\1<A HREF=\"http://\\2\" TARGET=\"{$config['cf_link_target']}\" $attr_nofollow>\\2</A>", $str);
    $str = preg_replace("/[0-9a-z_-]+@[a-z0-9._-]{4,}/i", "<a href=\"mailto:\\0\" $attr_nofollow>\\0</a>", $str);
    $str = str_replace(array("\t_nbsp_\t", "\t_lt_\t", "\t_gt_\t", "'"), array(" ", "<", ">", "'"), $str);
    /*
    // 속도 향상 031011
    $str = preg_replace("/</", "\t_lt_\t", $str);
    $str = preg_replace("/>/", "\t_gt_\t", $str);
    $str = preg_replace("/&/", "&", $str);
    $str = preg_replace("/"/", "\"", $str);
    $str = preg_replace("/ /", "\t_nbsp_\t", $str);
    $str = preg_replace("/([^(http:\/\/)]|\(|^)(www\.[^[:space:]]+)/i", "\\1<A HREF=\"http://\\2\" TARGET='{$config['cf_link_target']}'>\\2</A>", $str);
    //$str = preg_replace("/([^(HREF=\"?'?)|(SRC=\"?'?)]|\(|^)((http|https|ftp|telnet|news|mms):\/\/[a-zA-Z0-9\.-]+\.[\xA1-\xFEa-zA-Z0-9\.:=_\?\/~\+%@;\-\|\,]+)/i", "\\1<A HREF=\"\\2\" TARGET='$config['cf_link_target']'>\\2</A>", $str);
    // 100825 : () 추가
    // 120315 : CHARSET 에 따라 링크시 글자 잘림 현상이 있어 수정
    $str = preg_replace("/([^(HREF=\"?'?)|(SRC=\"?'?)]|\(|^)((http|https|ftp|telnet|news|mms):\/\/[a-zA-Z0-9\.-]+\.[가-힣\xA1-\xFEa-zA-Z0-9\.:=_\?\/~\+%@;\-\|\,\(\)]+)/i", "\\1<A HREF=\"\\2\" TARGET='{$config['cf_link_target']}'>\\2</A>", $str);
    // 이메일 정규표현식 수정 061004
    //$str = preg_replace("/(([a-z0-9_]|\-|\.)+@([^[:space:]]*)([[:alnum:]-]))/i", "<a href='mailto:\\1'>\\1</a>", $str);
    $str = preg_replace("/([0-9a-z]([-_\.]?[0-9a-z])*@[0-9a-z]([-_\.]?[0-9a-z])*\.[a-z]{2,4})/i", "<a href='mailto:\\1'>\\1</a>", $str);
    $str = preg_replace("/\t_nbsp_\t/", " " , $str);
    $str = preg_replace("/\t_lt_\t/", "<", $str);
    $str = preg_replace("/\t_gt_\t/", ">", $str);
    */
    return run_replace('url_auto_link', $str, $ori_str);
}

이 코드로 한번 해 보세요.

답변을 작성하시기 전에 로그인 해주세요.
전체 129,102 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT