我正在使用 sqlite 的全文搜索支持来存储可能包含&,<和>字符的文档。我打算使用片段函数来突出显示 html 结果页面的匹配项,但我没有看到在注入标记之前转义文本的明显方法。我宁愿在存储之前不要转义文本,因为那样amp,lt和gt将成为标记。
我能想到的最简单的解决方法是在存储页面之前对页面进行转义,并使用一个自定义标记器,该标记器首先将&unescape<和>.
但是...由于默认snippet(foo)使用<b>and </b>,这似乎是一个非常常见的用例,我相信必须有一种方法来处理这个问题,而无需在 C 中重新发明轮子。我是否忽略了更多优雅的解决方案?