금칙어 게시글 표시만 제한하기 [1]
페이지 정보
관련링크
본문
글내용에 금칙어 표시제한 적용
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);
글작성시 금칙어가 있어도 글 등록은 가능하지만 표시만 제한하도록 변경하는 방법.
루시웹 보조 관리자 계정
0
댓글목록
누리님의 댓글

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