zyan/detect-unicode-charset

判断字符串中是否包含中文、日文、韩文、或泰文等各国语言文字的方法

1.1.1 2024-06-28 18:39 UTC

This package is auto-updated.

Last update: 2024-09-28 19:09:50 UTC


README

判断字符串中是否包含中文、日文、韩文、或泰文等各国语言文字的方法

常见的 Unicode 属性名称:

  • 希腊:希腊字母字符
  • 西里尔:斯拉夫语系中的字符,包括俄文、白俄罗斯文、保加利亚文、塞尔维亚语等
  • 阿拉伯:阿拉伯字母字符
  • 希伯来:希伯来字母字符
  • 汉字:汉字字符
  • 片假名:片假名字符
  • 平假名:平假名字符
  • 泰文:泰文字符
  • 阿拉伯:阿拉伯文字符
  • 亚美尼亚:亚美尼亚文字符
  • 孟加拉:孟加拉文字符
  • 注音符号:注音符号字符
  • 盲文:点字字符
  • 布希德:布希德文字符
  • 加拿大原住民:加拿大原住民字符
  • 卡里亚:卡里亚文字符
  • 占族:占族文字符
  • 切罗基:切罗基文字符
  • 普通:普通字符(不带语言属性)
  • 科普特:科普特文字符
  • 楔形文字:楔形文字字符
  • 塞浦路斯:塞浦路斯文字符
  • 西里尔:西里尔文字符
  • 德萨雷特:德萨雷特字符
  • 天城文:天城文字符
  • 埃及象形文字:埃及象形文字字符
  • 衣索比亚:衣索比亚文字符
  • 乔治亚:乔治亚文字符
  • 格拉哥里:格拉哥里文字符
  • 哥特:哥德文字符
  • 希腊:希腊文字符
  • 古吉拉特:古吉拉特文字符
  • 古木基:古木基文字符
  • 汉字:汉字字符
  • 韩文:韩文字符
  • 哈努诺:哈努诺文字符
  • 希伯来:希伯来文字符
  • 平假名:平假名字符
  • 帝国阿拉米:帝国阿拉米文字符
  • 继承:继承字符
  • 碑铭巴列维:碑铭巴列维文字符
  • 碑铭帕提亚:碑铭帕提亚文字符
  • 爪哇:爪哇文字符
  • 凯蒂:凯蒂文字符
  • 卡纳达:卡纳达文字符
  • 片假名:片假名字符
  • 克耶:克耶字母字符
  • 卡罗须提:卡罗须提文字符
  • 高棉:高棉文字符
  • 寮文:寮文字符
  • 拉丁:拉丁文字符
  • 勒巴:勒巴文字符
  • 林布:林布文字符
  • 线性 B:线性 B 文字符
  • 丽僳:丽僳文字符
  • 利基亚:利基亚文字符
  • 吕底亚:印欧语系古代语言
  • 麻将:麻将牌符号
  • 马拉雅拉姆:马拉雅拉姆文字符
  • 曼代:曼代文字符
  • 米蒂-玛雅克:米蒂-玛雅克文字符
  • 玛若草书:体系玛若字母文字符
  • 玛若象形文字:玛若象形文字字符
  • 苗文:苗文字符
  • 蒙古:蒙古文字符
  • 缅甸:缅甸文字符
  • 新傣文:新傣文字符
  • N'Ko:N'Ko 字母字符
  • 奥格姆:奥格姆文字符
  • 桑塔利:桑塔利文字符
  • 古意大利:古意大利文字符
  • 古波斯:古波斯文字符
  • 古南阿拉伯:古南阿拉伯文字符
  • 古突厥:古突厥文字符
  • 奥里亚:奥里亚文字符
  • 奥斯曼亚:奥斯曼亚文字符
  • 八思巴:八思巴文字符
  • 腓尼基:腓尼基文字符
  • 瑞让:瑞让文字符
  • 古北欧:古北欧文字符
  • 撒玛利亚:撒玛利亚文字符
  • 索拉什特拉:索拉什特拉文字符
  • 莎拉达:莎拉达文字符
  • 萧伯纳:萧伯纳文字符
  • 僧伽罗:僧伽罗文字符
  • 索拉桑彭:索拉桑彭文字符
  • 巽他:巽他文字符
  • 锡尔赫特-那格里:锡尔赫特-那格里文字符
  • 叙利亚:叙利亚文字符
  • 塔加路:塔加路文字符
  • 塔格巴努亚:塔格巴努亚文字符
  • 傣仂:傣仂文字符
  • 傣南:傣南文字符
  • 傣北:傣北文字符
  • 塔克里:塔克里文字符
  • 泰米尔:泰米尔文字符
  • 泰卢固:泰卢固文字符
  • 塔安那:塔安那文字符
  • 泰文:泰文字符
  • 藏文:藏文字符
  • 提非纳:提非纳文字符
  • 乌加里特:乌加里特文字符
  • 瓦伊:瓦伊文字符
  • 彝文:彝文字符

参考文档1:https://www.mxp.tw/9765/
参考文档2:https://php.ac.cn/manual/zh/regexp.reference.unicode.php

这样,就可以轻松识别某个国家语言了

要求

  1. php 7.3 || 7.4
  2. Composer

安装

composer require zyan/detect-unicode-charset -vvv

用法

use Zyan\DetectUnicodeCharset\DetectUnicodeCharset;

$detectUnicodeCharset = new DetectUnicodeCharset();


$res = $detectUnicodeCharset->charset('中文');
//return ['Han']

$res = $detectUnicodeCharset->charset('こんにちは');
//return ['Hiragana']

//命中多个时 返回多个
$res = $detectUnicodeCharset->charset('中文こんにちは');
//return ['Hiragana','Han'];

指定语言

$detectUnicodeCharset = new DetectUnicodeCharset();

$detectUnicodeCharset->charset('测试こんにちは',['Han','Hiragana']);

新增或重置语言

$detectUnicodeCharset = new DetectUnicodeCharset();

//在默认中追加
$detectUnicodeCharset->addCharset(['Han','Hiragana']);

//重置 默认配置将被复盖
$detectUnicodeCharset->setCharset(['Han','Hiragana']);

//test
$detectUnicodeCharset->charset('测试こんにちは',['Han','Hiragana']);

单个判断

$detectUnicodeCharset = new DetectUnicodeCharset();


$detectUnicodeCharset->charset('这是中文吗?','Han');
// return true

$detectUnicodeCharset->charset('what is your name?','Han');
// return false

参与贡献

  1. fork 当前库到你的名下
  2. 在你的本地修改完成审阅过后提交到你的仓库
  3. 提交 PR 并描述你的修改,等待合并

github: https://github.com/aa24615/detect-unicode-charset

许可证

MIT 许可证