Home >Backend Development >PHP Tutorial >php截取中文字符问题
北京市崇文区联通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为 "中国"。
如果中国前面还有几个字符串呢?我要截取民字前面的两个中文字符?