zyan / detect-unicode-charset
判断字符串中是否包含中文、日文、韩文、或泰文等各国语言文字的方法
1.1.1
2024-06-28 18:39 UTC
Requires
- php: >=7.3
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^8.0|^9.0
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
这样,就可以轻松识别某个国家语言了
要求
- php 7.3 || 7.4
- 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
参与贡献
- fork 当前库到你的名下
- 在你的本地修改完成审阅过后提交到你的仓库
- 提交 PR 并描述你的修改,等待合并