전체검색이나 게시판 검색시 검색어에 따옴표가 들어가면 검색이 안됩니다. 채택완료
와이투
8년 전
조회 3,420
전체검색이나 게시판 검색란에 큰따옴표나 작은 따옴표가 들어가면 검색이 안됩니다.
검색어를 받아들일때 따옴표를 삭제하는 것 같은데 검색이 되게 할 수는 없을까요?
예를 들어 아래의 게시물이 분명히 존재하는데 검색어를 입력하면
http://www.concerto.kr/bbs/board.php?bo_table=musiclist&wr_id=20">"Disney's Aladdin - A Musical Spectacular"
따옴표들이 다 사라지고 검색을 하니 검색이 안되고 있습니다.
검색이 되게 할 수는 없을까요?
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
플라이
Expert
8년 전
검색시에 \' 위 부분으로 replace 처리해서 해주셔야 합니다.
왜냐하면 where 절 검색시 ' 부분이 문자열시 처리해 주는 부분이기 때문에 그 부분은 앞에 슬러쉬를 처리해 주셔야 가능한 부분 입니다.
str_repace("\'","'",변경할 데이터);
이런식으로 해주시면 될겁니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 3개
�
와이투
8년 전
�
플라이
8년 전
이곳에 말고요 검색시에 따른 php 검색 부분에 수정해 주셔야 합니다. 만약 잘 모르신다면 작업의뢰나 쪽지를 통해 연락처를 알려주세요 작업비용은 발생됩니다.
�
와이투
8년 전
그렇군요 머리 숙여 감사드립니다. 좋은 하루 되세요 ^^
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
아래 소스처럼 작업을 했는데 별 변화가 없습니다. 제가 php를 잘 몰라서 가르침 받고 싶습니다.
<script>
function fsearchbox_submit(f)
{
if (f.stx.value.length < 2) {
alert("Please enter up to 2 letter.");
f.stx.select();
f.stx.focus();
return false;
}
f.stx.value = str_repace("\'","'",f.stx.value); // 말씀주셨던 작은따옴표 치환부분입니다.
f.stx.value = str_repace("\"",""",f.stx.value); // 말씀주셨던 큰따옴표 치환부분입니다.
// 검색에 많은 부하가 걸리는 경우 이 주석을 제거하세요.
var cnt = 0;
for (var i=0; i<f.stx.value.length; i++) {
if (f.stx.value.charAt(i) == ' ')
cnt++;
}
if (cnt > 30) {
alert("You can enter only one space in the search term for quick search..");
f.stx.select();
f.stx.focus();
return false;
}
return true;
}
</script>