2026, 새로운 도약을 시작합니다.

금지단어 필터링 정말.. 제발요 ㅠㅠ 채택완료

Copy

위의 코드는 메인페이지에서 사용하고있는 간편상담 폼의 php파일입니다.

이 파일에서 글을쓰면 online이라는 테이블명의 게시판으로 가게됩니다.

일반게시판과는 달리 write.skin.php라는 페이지에서 글을쓰지않고 일반 php파일에서 글을쓰면 게시판으로 내용이 넘어가게끔 만들어진 skin이죠

https://sir.kr/g5_skin/25290?sfl=wr_subject%7C%7Cwr_content&stx=%EC%83%81%EB%8B%B4#c_29795

바로 이 스킨입니다.

금지단어 필터링을 글쓰는곳에 저렇게 넣으면 된다고해서 넣었는데 어떻게된건지 되지가않습니다..

function checkFrm(f) 이부분만 고쳤거든요!

onsubmit="return checkFrm(this);" 이렇게 되어있어서요 ㅠㅠ

뭐가잘못된걸까요.. 며칠째 이러고있습니다..ㅠㅠ

답변 1개

write 부분은 write.update.php 활용하시면 되실텐데..

일단 아래소스 확인하셔서 응용하시면될것 같네요.

$cover_word = "*"; 
$Filter = "금지단어,쉼표로구분";

function StrFilter($Text, $Type)
{
GLOBAL $Filter;
GLOBAL $cover_word;

if ($Filter!=""&&$Text!="")
{
$ndwords=array();
$mdeny_words=explode(",",$Filter);
foreach ($mdeny_words as $rdwords)
{
$rdwords = iconv("EUC-KR", "UTF-8",$rdwords);
       $r_deny_words = str_repeat("$cover_word", mb_strlen(iconv("UTF-8","EUC-KR",$rdwords)));
       $ndwords[$rdwords] = "$r_deny_words";
   }

$Text = iconv("EUC-KR","UTF-8",$Text);
$r = strtr($Text,$ndwords);
$r = iconv("UTF-8","EUC-KR", $r);

}
else
{
$r=$Text;
}
return $r;
}

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

*로 커버되는게 아니라 아예 전송이 안되게끔 하고싶습니다 ㅠㅠ

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

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고