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

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

· 12년 전 · 928 · 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 쪽을 여유필터쪽으로요. 하지만 변화는 없는것 같습니다. 혹시
스킨폴더에 있는거 말고 다른파일 수정할게 있나요?

게시글 목록

번호 제목
284348
284336
284333
284332
284320
284318
284316
284313
284307
284306
284303
284298
284296
284290
284286
284280
284277
284272
284261
284259