금칙어 게시글 표시만 제한하기 > 그누보드5 팁자료실

그누보드5 팁자료실

금칙어 게시글 표시만 제한하기 정보

금칙어 게시글 표시만 제한하기

본문

글내용에 금칙어 표시제한 적용

 

bbs/ajax.filter.php

break 부분은 주석처리 (글작성시 필터링 하는 기능 비활성)

 


for ($i=0; $i<count($filter); $i++) {
    $str = $filter[$i];
    // 제목 필터링 (찾으면 중지)
    $subj = "";
    $pos = stripos($subject, $str);
    if ($pos !== false) {
        $subj = $str;
        //break;
    }
    // 내용 필터링 (찾으면 중지)
    $cont = "";
    $pos = stripos($content, $str);
    if ($pos !== false) {
        $cont = $str;
        //break;
    }
}
die("{\"subject\":\"$subj\",\"content\":\"$cont\"}");

 

lib/common.lib.php

 

conv_content 함수 return 부분 바로 위쪽 부터 수정

 


    $content = conv_abuse($content);
    return $content;
}
// 금칙어 검열 변환 (관리자로그인 상태시 필터없이 그대로 표시)
function conv_abuse($content) {
    global $config, $is_admin;
    $abuse_filter = explode(",", trim($config['cf_filter']));
    for ($i=0; $i<count($abuse_filter); $i++) {
        if(!$is_admin) $content = $content = str_replace($abuse_filter[$i], '<strike>금칙어</strike>', $content);
    }
    return $content;
}


lib/common.lib.php

글 제목에 금칙어 변환

 


// 아래 함수 적당한곳에 추가
function conv_abuse_subject($subject) {
    global $config, $is_admin;
    $abuse_filter = explode(",", trim($config['cf_filter']));
    for ($i=0; $i<count($abuse_filter); $i++) {
        if($is_admin != 'super') {
            $abuse_char = '';
            for($j=0; $j<mb_strlen($abuse_filter[$i], "UTF-8"); $j++) $abuse_char .= '*';
            $subject = str_replace($abuse_filter[$i], $abuse_char, $subject);
        }
    }
    return $subject;
}

 

lib/common.lib.php 의 get_text 함수 상단에 아래 1줄 추가

 


function get_text($str, $html=0, $restore=false)
{
    $str = conv_abuse_subject($str);

 

글작성시 금칙어가 있어도 글 등록은 가능하지만 표시만 제한하도록 변경하는 방법입니다.

금칙어 치환 표시부분은 페이지에 맞게 변형하세요.

 

<참고>

글 수정시에만 작성 당시 금칙어가 그대로 보여집니다.
향후 ajax로 댓글 원본 가져오는 기능 추가 예정.
 

추천
6

댓글 7개

테스트 해보니 제목 내용 댓글에서 전부 잘 적용이 되는데
저부분에 적용이 안됩니다
혹시 저기에서 적용할려면 어떻게 해야 할까요?
전체 2,412 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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