Web中文转拼音

JavaScript/前端
303
0
0
2024-03-25
标签   JavaScript库

前言

pinyin-pro 是一个专业的 js 汉字拼音转换库,功能丰富、准确率高、性能优异。

https://gitcode.com/zh-lx/pinyin-pro/overview?utm_source=csdn_github_accelerator

安装

npm 安装

npm install pinyin-pro

浏览器引入

<script src="https://unpkg.com/pinyin-pro"></script>

使用

获取拼音

详细文档

https://pinyin-pro.cn/use/pinyin

import { pinyin } from 'pinyin-pro';

// 获取字符串格式拼音
pinyin('汉语拼音'); // 'hàn yǔ pīn yīn'

// 获取数组格式拼音
pinyin('汉语拼音', { type: 'array' }); // ["hàn", "yǔ", "pīn", "yīn"]

// 获取不带音调数组格式拼音
pinyin('汉语拼音', { toneType: 'none' }); // "han yu pin yin"

// 获取拼音不带音调、去除分隔符、去除空格、转小写
pinyin("姓名 Hello", { toneType: "none", separator: "" })
    .replaceAll(" ", "")
    .toLowerCase()

// 获取不带音调数组格式拼音
pinyin('汉语拼音', { toneType: 'none', type: 'array' }); // ["han", "yu", "pin", "yin"]

// 音调以数组形式显示
pinyin('汉语拼音', { toneType: 'num' }); // "han4 yu3 pin1 yin1"

// 自动识别多音字
pinyin('睡着了'); // "shuì zháo le"

文本和拼音匹配

import { match } from 'pinyin-pro';

// 支持首字母匹配
match('中文拼音', 'zwp'); // [0, 1, 2]

// 支持全拼匹配
match('中文拼音', 'zhongwenpin'); // [0, 1, 2]

// 支持混合匹配
match('中文拼音', 'zhongwp'); // [0, 1, 2]

拼音格式转换

import { convert } from 'pinyin-pro';

// 数组转符号
convert('pin1 yin1'); // 'pīn yīn'

// 符号转数字
convert('pīn yīn', { format: 'symbolToNum' }); // 'pin1 yin1'

// 消除符号
convert('pīn yīn', { format: 'toneNone' }); // 'pin yin'

获取带汉字拼音的 HTML 字符串

import { html } from 'pinyin-pro';

// 带拼音汉字的 HTML 字符串
html('汉语');
/*
<span class="py-result-item">
<ruby>
    <span class="py-chinese-item"></span>
    <rp>(</rp>
    <rt class="py-pinyin-item">hàn</rt>
    <rp>)</rp>
</ruby>
</span>
<span class="py-result-item">
<ruby>
    <span class="py-chinese-item"></span>
    <rp>(</rp>
    <rt class="py-pinyin-item"></rt>
    <rp>)</rp>
</ruby>
</span>
*/