여유필드를 약 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\"}");
?>
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개
게시글 목록
| 번호 | 제목 |
|---|---|
| 284348 | |
| 284336 | |
| 284333 | |
| 284332 | |
| 284320 | |
| 284318 | |
| 284316 | |
| 284313 | |
| 284307 | |
| 284306 | |
| 284303 | |
| 284298 | |
| 284296 | |
| 284290 | |
| 284286 | |
| 284280 | |
| 284277 | |
| 284272 | |
| 284261 | |
| 284259 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기