게시판 댓글, 본문 유튜브,트위터,인스타그램 자동 변환 하기. > 그누보드5 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누보드5 팁자료실

게시판 댓글, 본문 유튜브,트위터,인스타그램 자동 변환 하기. 정보

게시판 댓글, 본문 유튜브,트위터,인스타그램 자동 변환 하기.

첨부파일

common.lib.php (108.9K) 71회 다운로드 2018-06-12 15:43:37

본문

전에 올렸던 글 삭제하고 좀 더 수정하여 올립니다.

 

common.lib.php파일만 수정하시면 됩니다.

 

common.lib.php의 수정이 없는 경우 첨부파일을 덮어씌우시면 바로 사용 가능합니다.

 

만약 수정이 있으면 Line 211 url_auto_link의 함수를 다음과 같이 수정해주세요

 


// way.co.kr 의 wayboard 참고
function url_auto_link($str)
{
    global $g5;
    global $config;
    //Made by Vorfeed
    //인스타, 유튜브, 트위터 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 );
    $regex = "/(https?:\/\/(www\.)?)?twitter\.com\/(?:#!\/)?(\w+)\/status(es)?\/(\d+)/im";
    $str = preg_replace( $regex, '<blockquote class="twitter-tweet" data-lang="ko"> <a href="https://twitter.com/$3/status/$5" style="text-decoration:none"><span style="font-size:20px;"> twitter.. <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 유창화님 제안코드로 수정
    // http://sir.kr/pg_lecture/461
    // http://sir.kr/pg_lecture/463
    $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)\s*=\s*(?:\"|'|)){0})((http|https|ftp|telnet|news|mms)://[^\"'\s()]+)`", "<A HREF=\"\\1\" TARGET='{$config['cf_link_target']}'>\\1</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']}\" $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 $str;
}
추천
8

댓글 7개

전체 2,454 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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