当前位置:Gxlcms > PHP教程 > php截取中文字符问题

php截取中文字符问题

时间:2021-07-01 10:21:17 帮助过:4人阅读

北京市崇文区联通ADSL

我想从市开始,截取前面的两个中文字符,该如何写?


回复讨论(解决方案)

echo strtok('北京市崇文区联通ADSL', '市'); //北京

echo strtok('广东省深圳市长城宽带', '市'); //广东

版主,如过我前面是这个就成广东了,我是想截取从市开头的前面两个中文字符。

echo strtok('北京市崇文区联通ADSL', '市'); //北京

版主还有什么办法吗?

$s = '广东省深圳市长城宽带';preg_match_all('/(.+?)(省|市|$)/', $s, $r);$r = array_combine($r[2], $r[1]);print_r($r);
Array
(
[省] => 广东
[市] => 深圳
[] => 长城宽带
)

定义 $a = '中国人民';
如果你的服务器支持多字节字符串函数, 使用
$b = mb_substr($a, 0, 2, 'utf-8');
如果不支持, 使用
$b = implode('', array_slice(preg_split('//u', $a), 0, 3));

最后输出$b为 "中国"。

谢谢版主。

定义 $a = '中国人民';
如果你的服务器支持多字节字符串函数, 使用
$b = mb_substr($a, 0, 2, 'utf-8');
如果不支持, 使用
$b = implode('', array_slice(preg_split('//u', $a), 0, 3));

最后输出$b为 "中国"。
如果中国前面还有几个字符串呢?我要截取民字前面的两个中文字符?

人气教程排行