前言
在很多儿童类读本的App上,App会对文字进行拼音标注,这是如何实现的?

HTML 标签
HTML 提供了 <ruby> 和 <rt> 这两个语义化标签来给东亚文字注音。
<ruby>
  汉
  <rt>hàn</rt>
</ruby>如果遇到不兼容的浏览器,可以尝试使用 rp 来让它作为行内元素。
<ruby>
  汉
  <rp>(</rp>
  <rt>hàn</rt>
  <rp>)</rp>
</ruby>如何通过汉字拿到拼音
通过第三方库 pinyin 查询。
const result = pinyin("子弹", {
  segument: true,
  heteronym: true,
}); // ['dàn'] 返回一个数组,存在多音字// 可能存在英文,那么需要判断是否为中文
const regex = /[\u4e00-\u9fa5]/;
function isChinese(char) {
  return regex.test(char);
}