2026, 새로운 도약을 시작합니다.

스마트에디터 view페이지 연동 문의 채택완료

1개월 전 조회 161

스마트에디터의 view 부분 페이지에 wr_1을 노출하고자 합니다.

$html = 0 으로 설정시 html 태그도 나오며, 1 또는 2로 설정시 html태그는 purify 되어 나옵니다.

즉 wr_1에 "<p>wr1</p><p>wr1</p>" 가 저장되어 있을 시 

$html = 0 일 경우 "<p>wr1</p><p>wr1</p>" 나옴

$html = 1 일 경우 "wr1wr1" 나옴

html이 적용된 결과값이 "wr1 줄바꿈 wr1" 형태로 어떻게 하면 나오게 될까요?

view.php

Copy

view.skin.php

Copy

답변 2개

채택된 답변
+20 포인트

먼저

/bbs/view.php 에서

conv_content를 어떻게 사용했는지를 보시면

Copy


$view['content'] = conv_content($view['wr_content'], $html, $board['as_purifier'] ? false : true);

로 되어있습니다.

commonl.lib.php 파일에 있는 conv_content에 주석을 좀 달아보겠습니다.

Copy


// 내용을 변환하는 함수

// $content : 변환할 원본 내용

// $html    : HTML을 허용할지 여부 (0=텍스트, 1=HTML, 2=HTML + 자동 줄바꿈)

// $filter  : HTML Purifier 필터 적용 여부 (기본 true)

function conv_content($content, $html, $filter=true)

{

    // 환경설정($config)과 게시판 정보($board)를 전역에서 가져옴

    // conv_content는 게시판 출력 시 자주 사용되기 때문에 글로벌 변수를 공유함

    global $config, $board;

    // ---------------------------------------------------------------------

    // ? 1) HTML 모드일 때 (HTML 태그를 그대로 출력)

    // ---------------------------------------------------------------------

    if ($html)

    {

        $source = array(); // 치환할 패턴 목록

        $target = array(); // 치환 후 결과 목록

        // "//"를 제거하는 이유:

        // 일부 글에서 "//"가 있는 경우 주석처럼 취급되거나 깨질 수 있어 제거함

        $source[] = "//";

        $target[] = "";

        // html == 2 → 자동 줄바꿈 기능

        // 사용자가 엔터(\n)를 치면 
 태그로 바꿔 화면에서 줄바꿈이 보이도록 처리

        if ($html == 2) { 

            $source[] = "/\n/";

            $target[] = "
";

        }

        // ---------------------------------------------------------------------

        // ? 1-1)  태그 보정

        // HTML 작성 시 은 있는데 을 안 닫는 실수가 자주 발생

        // 브라우저가 테이블을 제대로 표시하지 못하기 때문에

        //  개수와  개수를 비교해서 부족한 만큼 를 자동으로 추가해줌

        // ---------------------------------------------------------------------

        $table_begin_count = substr_count(strtolower($content), "

같은 패턴으로

wr_1도 적용하고 싶으시면

Copy


$view['content'] = conv_content($view['wr_content'], $html, $board['as_purifier'] ? false : true);

$view['wr_1']    = conv_content($view['wr_1'], $html, $board['as_purifier'] ? false : true);

 

로 해보세요

참고로 view.php 파일에 있는 내용입니다.

다른 파일에 적용할때는 그에 맞는 커스텀이 필요할겁니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

css 문제였네요. 해당 영역에 display: flex 적용하면 줄바꿈 처리가 안되었습니다. ㅠㅠ

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고