将判断条件改成正则就好了。问题来了,有办法屏蔽同音字吗?
1
mjar 2023-02-23 16:54:42 +08:00
用库把文字转成拼音,再用正则屏蔽拼音。
BTW ,谢谢分享,我现在只是把“最热”用 ublock 屏蔽掉,已经感觉干净很多了。 附一段出处你懂的代码作为参考(我没细看): ``` const Pinyin = require('pinyin'); function matchKeyword(keyword, text) { // 将中文字符串转换为拼音 const keywordPinyin = Pinyin(keyword, {style: Pinyin.STYLE_NORMAL}).join(''); const textPinyin = Pinyin(text, {style: Pinyin.STYLE_NORMAL}).join(''); // 在转换后的拼音中进行正则表达式匹配 const regex = new RegExp(keywordPinyin, 'i'); return regex.test(textPinyin); } // 示例用法 const keyword = '苹果'; const text = 'pingguo'; const matched = matchKeyword(keyword, text); console.log(matched); // 输出 true ``` |