首頁 > 後端開發 > php教程 > php截取中文字符问题

php截取中文字符问题

WBOY
發布: 2016-06-23 14:21:29
原創
796 人瀏覽過

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板