테스트 사이트 - 개발 중인 베타 버전입니다

전체검색이나 게시판 검색시 검색어에 따옴표가 들어가면 검색이 안됩니다. 채택완료

와이투 8년 전 조회 3,420

전체검색이나 게시판 검색란에 큰따옴표나 작은 따옴표가 들어가면 검색이 안됩니다.

 

검색어를 받아들일때 따옴표를 삭제하는 것 같은데 검색이 되게 할 수는 없을까요?

 

예를 들어 아래의 게시물이 분명히 존재하는데 검색어를 입력하면

http://www.concerto.kr/bbs/board.php?bo_table=musiclist&wr_id=20">"Disney's Aladdin - A Musical Spectacular"
따옴표들이 다 사라지고 검색을 하니 검색이 안되고 있습니다.
 
검색이 되게 할 수는 없을까요?
댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
플라이
8년 전

검색시에 \' 위 부분으로 replace 처리해서 해주셔야 합니다.

왜냐하면 where 절 검색시 ' 부분이 문자열시 처리해 주는 부분이기 때문에 그 부분은 앞에 슬러쉬를 처리해 주셔야 가능한 부분 입니다.

str_repace("\'","'",변경할 데이터);

이런식으로 해주시면 될겁니다.

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

답변에 대한 댓글 3개

와이투
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>
플라이
8년 전
이곳에 말고요 검색시에 따른 php 검색 부분에 수정해 주셔야 합니다. 만약 잘 모르신다면 작업의뢰나 쪽지를 통해 연락처를 알려주세요 작업비용은 발생됩니다.
와이투
8년 전
그렇군요 머리 숙여 감사드립니다. 좋은 하루 되세요 ^^

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

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

로그인