我有一个庞大的词汇数据库(约 2700 个条目)。每行包含一个英文单词、对应的日文单词以及与此问题无关的其他数据。我创建了一个工具来搜索并在表格中显示结果,但是我在使用furigana时遇到了一个小问题。
日语句子是由汉字(汉字)和拼音文字(假名)混合而成的。不是每个人都能读懂每一个汉字,有时同一个汉字有多种读法。在这些情况下,假名放在汉字上方- 这称为假名:
我使用 <ruby> 标记以下列格式将这些语音读数呈现给用户:
<ruby>
<rb>勉強</rb> <!-- the kanji -->
<rp>(</rp> <!-- define where the phonetic part starts in the string -->
<rt>べんきょう</rt> <!-- the phonetic kana itself -->
<rp>)</rp> <!-- define the end of the phonetic part -->
</ruby>する <!-- the last part is already phonetic so needs no ruby -->
字符串存储在我的数据库中,如下所示:
勉強(べんきょう)する
括号之间的任何内容都是紧接在它前面的汉字的读数。以这种方式存储字符串允许不支持 ruby 标签的浏览器(例如,令人惊讶的 Firefox)回退。
所有这些都很好,但是当用户搜索时问题就来了。如果他们搜索
勉強
然后它就会出现。但如果他们试图寻找
勉強する
它不会起作用,因为在数据库中有一个字符串定义了中间的语音发音。
上例中的全角括号仅用于表示该拼音文字。鉴于此,我正在寻找一种方法来基本上告诉 MySQL 搜索忽略它在圆括号之间找到的任何内容。我对如何在 MySQL 中进行最简单的查询有基本的了解,但我当然不是专家。我查看了文档,但是(至少对我而言)它们不是很友好。也许对初学者不太友好。我认为某种涉及正则表达式的构造可能是可能的,但我不知道如何。
有没有办法做我想做的事?