검색에서 한글자는 검색 안되게 할 수 있나요?
본문
안녕하세요.
검색할 때 한 글자 단위는 아예 검색에서 제외할 수 있을까요?
스트립트로 if (f.stx.value.length < 2) 이렇게 입력 폼에서 제어 하는거 말고 아예 검색에서요.
예를 들면 '용'을 검색하면 당연히 스크립트 때문에 두 글자 이상 넣으라고 하겠지만..
'하늘 용' 이렇게 검색을 하면 '용'이 검색이 되죠. 이걸 막을 수 있을까요?
'바닷가 게' 이렇게 검색을 하면 '돌아 눕는게' , '이렇게 하는게' 이런식으로 검색이 너무 되네요.
그래서 아예 한 글자는 검색에서 제외를 하고 싶은데 방법을 모르겠습니다 ㅠ_ㅜ
답변 3
bbs/search.php 59라인쯤
// 검색어를 구분자로 나눈다. 여기서는 공백
$s = explode(' ', strip_tags($stx));
if( count($s) > 1 ){
$s = array_slice($s, 0, 2);
$stx = implode(' ', $s);
}
이것을 다음으로 바꾼후 시도해 보세요.
// 검색어를 구분자로 나눈다. 여기서는 공백
$s = explode(' ', strip_tags($stx));
if( count($s) > 1 ){
$s = array_slice($s, 0, 2);
if(mb_strlen($s[0]) < 2) array_shift($s);
if(mb_strlen($s[1]) < 2) array_pop($s);
if( count($s) > 1 ) $stx = implode(' ', $s);
else $stx = $s[0];
}
검색 될때 그냥 띠어쓰기를 쓰면 안되다고하고
그래도 쓰다면 검색 부분에 띠어쓰기 공간을 없애버리면되죠
<input type=text value=' '>
value 안에 큰따옴표 있어야 안짤립니다