스마트 에디터 썸네일 문의드립니다.

스마트 에디터 썸네일 문의드립니다.

QA

스마트 에디터 썸네일 문의드립니다.

본문

스마트 에디터 사용중인데요.

리스트에서 에디터에서의 이미지를 썸네일로 가져오고 있습니다.

<?php
            $thumb = get_list_thumbnail($board['bo_table'], $list[$i]['wr_id'], $board['bo_gallery_width'], $board['bo_gallery_height']);

            if($thumb['src']) {
                $img_content = '<img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'" width="'.$board['bo_gallery_width'].'" height="'.$board['bo_gallery_height'].'" class="article_thumb f_l bda">';
            } else {
                $img_content = '<img src="'.G5_IMG_URL.'/icon_noimage.png" alt="이미지 없음" width="'.$board['bo_gallery_width'].'" height="'.$board['bo_gallery_height'].'" class="article_thumb f_l bda">';
            }

            echo $img_content;
  ?>​

 

첨부파일일때는 썸네일이 잘 불러와지는데, 스마트에디터에서의 이미지는 썸네일로 못 불러오네요.

혹시나 해서 ckeditor4로 변경해보았더니 이때는 썸네일을 불러옵니다.

스마트에디터에서만 썸네일이 적용이 안되는 것 같은데요.

무엇이 문제인지 모르겠어요.. 조언 부탁드려요..

 

이 질문에 댓글 쓰기 :

답변 4

그누5 배포판에 있는 갤러리 스킨에서 해보고 올려주신거 그대로 복사해서도 해봤는데 정상적으로 썸네일 잘 생성되네요.

혹시 예전 버전이라면 최근 버전으로 업로드해보세요.

작은별님. 답변 감사드려요 ^^

그누 버전은 5.0.15 입니다. ^^

 

 

혹시나 해서 DB에 저장되는 내용을 보니 ckeditor4​는 <img 로 , smarteditor는 <IMG로 입력이 되네요.

common.lib.php 파일의

// 에디터 이미지 얻기
function get_editor_image($contents, $view=true)
{
    if(!$contents)
        return false;

    // $contents 중 img 태그 추출
    if ($view)
        $pattern = "/<img([^>]*)>/iS";
    else
        $pattern = "/<img[^>]*src=[\'\"]?([^>\'\"]+[^>\'\"]+)[\'\"]?[^>]*>/";
    preg_match_all($pattern, $contents, $matchs);

    return $matchs;
}​

 

부분의 $pattern 부분이 <img 로 되어 있어서 이것을 <IMG로 바꾸니 썸네일이 잘 보이네요.

그런데, 이렇게 할 경우 ckeditor4​​는 썸네일이 안보여요.

에디터를 관리자페이지에서 선택할 수 있으니, 단순히 <IMG 로 바꾼다고 해서 해결이 잘 된거라 생각되진 않네요.

어떤 방법이 있을까요?

 

 

문제점을 알아내었습니다.

스마트에디터가 ie7, ie8 일경우 태그를 대문자로 db에 저장을 하네요.

ie11일 경우에 테스트를 해보니 <img 로 소문자로 db에 저장이 됩니다.

 

하여..

 

 

common.lib.php 파일의

// 에디터 이미지 얻기
function get_editor_image($contents, $view=true)
{
    if(!$contents)
        return false;

    // $contents 중 img 태그 추출
    if ($view)
        $pattern = "/<img([^>]*)>/iS";
    else
        $pattern = "/<img[^>]*src=[\'\"]?([^>\'\"]+[^>\'\"]+)[\'\"]?[^>]*>/";
    preg_match_all($pattern, $contents, $matchs);

    return $matchs;
}​

 

부분에 소문자로 변경해주는

$contents = strtolower($contents);

을 추가하였습니다.

 

 

 

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

회원로그인

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