테스트 사이트 - 개발 중인 베타 버전입니다

여유필드에서도 단어 필터링을 사용하고 싶어요

· 12년 전 · 927 · 2
여유필드를 약 20개 정도 추가해 놨습니다.
wr_1~20 까지인데요.
이게 본문쪽에 들어가는 내용이라..
단어 필터링을 하고 싶어요.
사실은 특정단어가 들어가 있으면 포커스를 주게 할려고 합니다.
마땅한 방법이 없을까요?

아래는 입력한 소스에요~

var fwr_1 = "";

$.ajax({
url: "<?=$board_skin_path?>/ajax.filter.php",
type: "POST",
data: {
"subject": f.wr_subject.value,
"content": f.wr_content.value,
"fwr_1": f.wr_1.value

},
dataType: "json",
async: false,
cache: false,
success: function(data, textStatus) {
subject = data.subject;
content = data.content;
fwr_1 = data.fwr_1;
}
});

if (fwr_1) {
alert("여유필드1에 금지단어가 포함되어있습니다.");
f.wr_1.focus();
return false;
}

그리고 ajax.filter.php 파일 수정내용입니다.


<?
include_once("./_common.php");

if (!function_exists('convert_charset'))
{
/*
-----------------------------------------------------------
Charset 을 변환하는 함수
-----------------------------------------------------------
iconv 함수가 있으면 iconv 로 변환하고
없으면 mb_convert_encoding 함수를 사용한다.
둘다 없으면 사용할 수 없다.
*/
function convert_charset($from_charset, $to_charset, $str)
{

if( function_exists('iconv') )
return iconv($from_charset, $to_charset, $str);
elseif( function_exists('mb_convert_encoding') )
return mb_convert_encoding($str, $to_charset, $from_charset);
else
die("Not found 'iconv' or 'mbstring' library in server.");
}
}

header("Content-Type: text/html; charset=$g4[charset]");

$fwr_1 = strtolower($_POST['fwr_1']);

//euc-kr 일 경우 $config['cf_filter'] 를 utf-8로 변환한다.
if (strtolower($g4[charset]) == 'euc-kr')
{
//$subject = convert_charset('utf-8', 'cp949', $subject);
//$content = convert_charset('utf-8', 'cp949', $content);
$config['cf_filter'] = convert_charset('cp949', 'utf-8', $config['cf_filter']);
}

//$filter = explode(",", strtolower(trim($config['cf_filter'])));
// strtolower 에 의한 한글 변형으로 아래 코드로 대체 (곱슬최씨님이 알려 주셨습니다.)
$filter = explode(",", trim($config['cf_filter']));
for ($i=0; $i<count($filter); $i++)
{
$str = $filter[$i];

$wr1 = "";
$pos = strpos($fwr_1, $str);
if ($pos !== false)
{
if (strtolower($g4[charset]) == 'euc-kr')
$wr1 = convert_charset('utf-8', 'cp949', $str);//cp949 로 변환해서 반환
else
$wr1 = $str;
break;
}
}

die("{\"subject\":\"$subj\",\"content\":\"$cont\",\"frw_1\":\"$wr1\"}");
?>

댓글 작성

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

로그인하기

댓글 2개

12년 전
ajax.filter.php 에도 내용추가해주셔야 합니다.
12년 전
감사합니다.
그런데.. ajax.filter.php 에 같은 내용을 추가했는데요. subject 쪽을 여유필터쪽으로요. 하지만 변화는 없는것 같습니다. 혹시
스킨폴더에 있는거 말고 다른파일 수정할게 있나요?

게시글 목록

번호 제목
284508
284499
284492
284490
284484
284481
284478
284476
284474
284472
284470
284458
284457
284454
284453
284447
284446
284444
284441
284440