값 $ keyword_search에 하나 이상의 키워드를 사용하는 PHP/mySQL 검색 기능이 있습니다. 문제는 모든 키워드와 일치한다는 것입니다. 검색이 완료되면 누군가가 "우유 맥주"를 검색하는 경우 "우유"또는 "맥주"만을 포함하는 결과를 반환합니다. 문자열에 모든 키워드가 포함되도록 결과를 변경하려면 어떻게해야합니까? 어떤 도움을 주시면 더 좋구요어떻게 PHP/REGEXP를 모든 키워드와 일치시킬 수 있습니까?
$query[] = "((a.name REGEXP '()*(" . str_replace(' ', ')*()*(', $keywords_search) . ")()*')
OR (a.description REGEXP '()*(" . str_replace(' ', ')*()*(', $keywords_search) . ")()*'))";
:
다음은 코드입니다!
'$ keywords_search'가'a | b | c'와 같은 경우 아마 작동하지 않을 것입니다. 키워드 중 하나라도 일치합니다. –
그래, 그게 문제 야. 이 스크립트는 약간의 복잡성으로 인해서 MySQL의 명령을 사용하지 못하게합니다. ( – user1227914
) 대신 MySQL의 전체 텍스트 검색을 사용 했습니까? –