&
, <
및 >
문자를 포함 할 수있는 문서를 저장하기 위해 sqlite의 전체 텍스트 검색 지원을 사용하고 있습니다. 스 니펫 함수를 사용하여 html 결과 페이지의 일치 항목을 강조 표시하려고했지만 마커를 삽입하기 전에 텍스트를 이스케이프 처리하는 확실한 방법은 없습니다. 차라리 amp
, lt
및 gt
이 토큰이되기 때문에 텍스트를 저장하기 전에 이스케이프하지 않는 것이 좋습니다.sqlite의 FTS 스 니펫 함수로 html 이스케이프 처리
내가 생각할 수있는 가장 간단한 해결 방법은 페이지를 저장하기 전에 이스케이프 처리하고 사용자 지정 토큰izer를 사용하여 먼저 &
, <
및 >
을 이스케이프 처리하는 것입니다. snippet(foo)
의 기본이 <b>
및 </b>
을 사용하는 것입니다 때문에 이것은 매우 일반적인 사용 사례이며, 나는에 바퀴를 개혁하지 않고이 문제를 해결할 수있는 방법이 있어야한다는 확신처럼
그러나 ..., 정말 보인다 C. 나는 더 우아한 해결책을 간과하고 있는가?
고마워요! 저장하고있는 텍스트는 ReStructured Text이며 이미 유효성이 검사되었습니다. 따라서 처음에는 docutils 파서가 거부하는 마커를 사용했습니다. 예쁘지는 않지만 잘 작동합니다. – strcat