"),$str); ...","datePublished":"2025-03-03","dateModified":"2025-03-03","image":{"@type":"ImageObject","url":"https:\/\/www.dls6.com\/assets\/images\/logo_default.png"},"mainEntityOfPage":{"@type":"WebPage","@id":"https:\/\/www.dls6.com\/article\/228.html"},"@context":"https:\/\/schema.org","@type":"Article","inLanguage":"zh-CN","areaServed":"CN","provider":{"@type":"Organization","name":"丁老师软件","url":"https:\/\/www.dls6.com","logo":{"@type":"ImageObject","url":"https:\/\/www.dls6.com\/upload\/2025\/12\/20251220155938487.jpg","width":1186,"height":600}},"author":{"@type":"Organization","name":"丁老师软件","url":"https:\/\/www.dls6.com"},"publisher":{"@type":"Organization","name":"丁老师软件","logo":{"@type":"ImageObject","url":"https:\/\/www.dls6.com\/upload\/2025\/12\/20251220155938487.jpg","width":1186,"height":600}}}
首页 > 原创文章 > 软件开发 > 查看文章

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

所属分类:软件开发 来源: 丁老师原创 更新时间:2025-03-03 08:38 浏览: 2836 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}?]"来区分的中英文。
英文是通过正则表达式,排除了中文后的内容;
而中文,是通过正则表达式,只抓取中文的内容;

你学会了吗?

标签:

相关文章

Uniapp开发小程序和app时,根据登录状...

在使用uniapp开发app和小程序时,经常会用到打开app/小程序时,根据登录状态判断是显示首页还是跳转登录页的功能。此功能在app.vue的onlaunch方法中定义,方法如下:onLaunch: function() { cons...

微信支付常见问题及解决办法

微信支付常见问题及解决办法

Bagisto使用常见问题与解决方法

Bagisto是一款强大的跨境电商平台软件,很多客户在初次安装和使用时,会或多或少遇到一些解决不了的情况。丁老师整理了一些常见的Bagisto问题以及解决方法以供查阅。问:安装Bagisto时出现"Command compos...

Uniapp开发微信小程序时,微信开发者工具...

在使用uniapp开发微信小程序,微信开发者工具调试时,明明已经给了获取位置权限,但还是提示需要打开gps获取位置,具体解决办法如下:打开uniapp的manifest.json文件,切换到源码模式,找到mp-weixin节点"...

推荐文章

宝塔面板phpmyadmin数据库表导航树禁...

宝塔面板的phpmyadmin,默认数据库表导航树是每30个一页,非常的不直观,可以通过修改宝塔phpmyadmin配置文件的方式来禁止他分页。修改方法:1.进入服务器/www/server/phpmyadmin/phpmyadmin_随机...

FastAdmin后台列表默认分页数量由10...

没那么多废话,直接上修改方法public\assets\js\require-table.jspageSize: Config.pagesize || localStorage.getItem("pagesize") |...

BT宝塔升级方法

由老版本7.2自动升级时,会出现很多问题,建议在终端手动升级。升级命令:curl http://download.bt.cn/install/update_panel.sh|bash

Mui的toast修改位置居中

mui的toast默认是在底部的,并且没有参数设置位置,经过研究发现可以通过修改css的方式设置位置,具体方法如下:1.mui toast设置type为divmui.toast('hello', { type: 'd...