php - 正则匹配截取中文字符

本文介绍了一种在PHP中使用正则表达式从特定字符串中提取中文字符的方法,并提供了针对UTF-8和GBK编码环境的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方案解决目标:对一段中文字符进行正则匹配,获取其中中文字符数据

有这么一段字符信息:

$str = '北京=460;上海=368;深圳=326;广州=297;';

目标是把字符中的地区名获取出来,组成所需的数组数据

首先我们得先要明白中文双字节字符编码范围:.

  1. GBK (GB2312/GB18030) x00-xff GBK双字节编码范围 x20-x7f ASCII xa1-xff 中文 gb2312 x80-xff 中文 gbk

  2. UTF-8 (Unicode) u4e00-u9fa5 (中文) x3130-x318F (韩文 xAC00-xD7A3 (韩文) u0800-u4e00 (日文)

<?php $str = '北京=460;上海=368;深圳=326;广州=297;'; // 在UTF-8编码下进行正则匹配 if(preg_match_all("/[\x{4e00}-\x{9fa5}]+/u", $str, $result)){ var_dump($result[0]); } // 在GBK编码下进行正则匹配 if (preg_match_all("/[x80-xff>]+/u", $str, $data)){ var_dump($data[0]); }

转载于:https://my.oschina.net/rongx/blog/684486

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值