首页 > 原创文章 > 软件开发 > 查看文章

php区分字符里面中文和英文的方法

所属分类:软件开发 来源: 丁老师原创 更新时间:2025-03-03 08:38 浏览: 1797 IP属地: 深圳

有个客户提出了一个需求,他的稿件经常包含有中英文混合内容,现在需要把中文和英文分离开来,即把中文单独取出来,把英文取出来,该怎么实现呢?
下边,丁老师用php的方法,来帮你实现。

$str="Hello 丁老师软件开发 How are you?";

$english=preg_replace(array("/[\p{Han}?]/u","/(\s)+/"),array("","$1"),$str);
$chinese=preg_replace(array("/[^\p{Han}?]/u","/(\s)+/"),array("","$1"),$str);

echo $english."\r\n".$chinese;

在本文中,可以看到,我是通过使用了正则表达式"[\p{Han}?]"来区分的中英文。
英文是通过正则表达式,排除了中文后的内容;
而中文,是通过正则表达式,只抓取中文的内容;

你学会了吗?

标签:

相关文章

Moment.js设置英文为中文的方法

Moment.js是一个不错的时间处理类js封装包,从官网下载默认是英文的,比如moment().format('dddd')显示出来是Tuesday,如果要显示中文的话,有两种方法:1.moment-with-loca...

做网站用H5好还是用VUE好?

今天有同学问,要做一个网站,技术方面是用html5呢还是用vue呢?丁老师给你解答。其实,用html5和用vue,都可以做网站,但是就架构适用性来说,html5和vue有不同的特点。html5做网站的优点:1.快速开发,上手简单,不需要...

Python常用命令

切换源为国内pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/国内常用源清华大学: https://pypi.tuna.tsinghua.edu...

C++为什么不能在未命名的结构上调用成员函数...

int main() { auto hello= struct { int test() { return 1; } }().test(); }有初学C++的小伙伴提问,在运行C++代码时报错,错误提示如下:<source :2:...

推荐文章

IntelliJ/phpstorm/webs...

在使用jet brains的ide开发代码时,经常性的会输入单引号或双引号,ide默认有对于引号的自动完成功能,即输入一个引号,自动显示两个,这一点其实做的很不智能,因为在使用时经常会有显示出3个的情况,那么怎么关闭这个功能呢?file-s...

如何删除idea软件搜索时的find mas...

在使用idea系列的配套软件时,如intellij idea、Php Storm、Web Strom时,在搜索文件时,右上角的file mask可以筛选指定类型的文件。但是有时候可能会输入错误,产生多个记录,而且没办法删除,在以后的开发中经...

FastAdmin btn-dialog按钮...

fastadmin里自定义按钮的btn-dialog,弹出窗口时默认大小,设置了data-area无效,经过研究后,发现了可用的方法,直接上代码不废话:table.on('post-body.bs.table',functi...

Javascript复制对象改变原值的解决办...

在进行vue开发中,经常会遇到复制对象,赋值新对象后,原对象值被改变的问题,举个例子:let old={ "a":1, "b":2 } let new=old; new['c']=3;...