도아주세요... 정보
도아주세요...본문
단어 필터링이 제대로 안먹혀요 ....
1번째 , 컴마 단어 필터링만 먹히고..... 나머진 안먹히는 현상이 .... 해결법좀.. 알려주세요 ㅜ_ㅜ..
http://sir.co.kr/qa/86255?s_tag=%EA%B7%B8%EB%88%84%EB%B3%B4%EB%93%9C5
질문 올렸어요..
추천
0
0
댓글 8개
break;
throw exception 으로 잡아보시죠..
아니면 해당 단어들은 다시 badWord 같은 변수에 쉼표로 매칭으로 넣어서
어쩌구,저쩌구,이런거,저런거 는 금지단어 입니다.
로 표현되도록 로직 수정하세요.
아니면 해당 단어들은 다시 badWord 같은 변수에 쉼표로 매칭으로 넣어서
어쩌구,저쩌구,이런거,저런거 는 금지단어 입니다.
로 표현되도록 로직 수정하세요.
금지단어가 금지어1 금지어2 금지어3
인데
안녕하세요. 금지어2 입니다. <- 이 2번째 금지어는 경고메세지지가 안보인다는건지...
안녕하세요 금지어1이고 금지어2 입니다. <- 여기서 금지어1 만 경고메세지가 보이고 금지어2에 대해서는 경고메세지가 안보인다는건지요?
만약 후자라면 break 를 빼시면 되구요.
전자라면 제가 답변해둔걸 보시면 될 듯 합니다....
저는 전자라고 생각했거든요. 냐하하;;
인데
안녕하세요. 금지어2 입니다. <- 이 2번째 금지어는 경고메세지지가 안보인다는건지...
안녕하세요 금지어1이고 금지어2 입니다. <- 여기서 금지어1 만 경고메세지가 보이고 금지어2에 대해서는 경고메세지가 안보인다는건지요?
만약 후자라면 break 를 빼시면 되구요.
전자라면 제가 답변해둔걸 보시면 될 듯 합니다....
저는 전자라고 생각했거든요. 냐하하;;
예외 처리를 하는데 하나만 걸리고 break 를 거니 당연히 다음꺼 안타는게 정상적인 로직이죠..
하하하하.. 저 진짜 바보엿나봅니다.. 저거 break 걸었던게.. 그다음 php 가 다씹혀서 막아놧더니... 풀어도 안씹히네요 ..히힣.. 감사합니다. ㅎㅎ
필터되는 단어가 많다면, 가급적 정규식을 활용해보세요.
<?php
$filter = '금지어1,금지어2,금지어3';
$filter = str_replace("," , "|" , $filter); // 정규식을 사용하기 위해 콤마를 | 로 바꿈
$search = '금지어1을 쓰고 금지어3도 써보자!';
if (preg_match_all('/('.$filter.')/', $search, $match) == true) {
?>
금지어에 걸렸습니다.
금지어에 걸린 단어들은 아래와 같습니다.
<?php
for ($i=0, $loop=count($match[0]); $i<$loop; $i++) {
echo $match[0][$i].'<br>';
}
}
?>
위와 같이 하면 아래와 같이 나옵니다.
금지어에 걸렸습니다.
금지어에 걸린 단어들은 아래와 같습니다.
금지어1
금지어3
<?php
$filter = '금지어1,금지어2,금지어3';
$filter = str_replace("," , "|" , $filter); // 정규식을 사용하기 위해 콤마를 | 로 바꿈
$search = '금지어1을 쓰고 금지어3도 써보자!';
if (preg_match_all('/('.$filter.')/', $search, $match) == true) {
?>
금지어에 걸렸습니다.
금지어에 걸린 단어들은 아래와 같습니다.
<?php
for ($i=0, $loop=count($match[0]); $i<$loop; $i++) {
echo $match[0][$i].'<br>';
}
}
?>
위와 같이 하면 아래와 같이 나옵니다.
금지어에 걸렸습니다.
금지어에 걸린 단어들은 아래와 같습니다.
금지어1
금지어3
히히 .. 팁 감사합니다. ㅎㅎ 그런데 저 아직 초보라 그런지 금지어가 아닐경우
'????'에 대한 검색결과가 없습니다.
단어의 철자가 정확한지 확인해 보세요.
한글을 영어로 혹은 영어를 한글로 입력했는지 확인해 보세요.
검색어의 단어 수를 줄이거나, 보다 일반적인 검색어로 다시 검색해 보세요.
두 단어 이상의 검색어인 경우, 띄어쓰기를 확인해 보세요.
검색 옵션을 변경해서 다시 검색해 보세요.
라는문구 하나만 뛰울려고하는데 참 이게 어렵네요 지금 이리저리 소스를 보면서 계속 뜯어보는중이지만 .. ㅎㅎ
'????'에 대한 검색결과가 없습니다.
단어의 철자가 정확한지 확인해 보세요.
한글을 영어로 혹은 영어를 한글로 입력했는지 확인해 보세요.
검색어의 단어 수를 줄이거나, 보다 일반적인 검색어로 다시 검색해 보세요.
두 단어 이상의 검색어인 경우, 띄어쓰기를 확인해 보세요.
검색 옵션을 변경해서 다시 검색해 보세요.
라는문구 하나만 뛰울려고하는데 참 이게 어렵네요 지금 이리저리 소스를 보면서 계속 뜯어보는중이지만 .. ㅎㅎ
도아가 누구길래 달라는 거죠?
누가 빼앗아 갔나요? ㅎㅎ
누가 빼앗아 갔나요? ㅎㅎ