hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - PHP问题 - 正文 请牢记本站网址www.sosophp.cn

php完成中文字符串截取无乱码【php题目】

2019-11-26PHP问题搜搜PHP网37°c
A+ A-

在PHP中常常运用substr来举行字符串的截取,然则当我们用它来完成对中文字符举行截取的时刻则会发作乱码题目,比如说:(引荐进修:PHP编程从入门到通晓)

<?php
$mystring="今天天气真好";
$mysubstring=substr($mystring,0,2);
echo $mysubstring;
?>

输出效果为�;

缘由剖析:substr函数原型为:string substr ( string $string , int $start [, int $length ] ),个中$length示意返回字节长度,而一个中文占两个字节,关于一个UTF-8的中文字符,会把它当作3个字节来处置惩罚。

<?php
$length=strlen($mystring);echo $length;//输出效果为18
?>

也就是说我们可以用令$length为3,如许就会胜利返回一个“今”字。如许的话假如中文和英文混淆的话则须要我们好好地盘算一下$length了。

那末有更好的解决办法吗?

Php给出了别的的函数mb_strlen和mb_substr

<?php
$length=mb_strlen($mystring);
$mysub=mb_substr($mystring,0,4);
echo "the length is:$length,","the substr is:$mysub";
?>

输出效果为:the length is:6,the substr is:今天天气

mb_strlen函数原型为int mb_strlen(string string_input, string encode);encode默以为UTF-8,它会将为UTF-8编码的中文字符算作一个

注重:mb_strlen与mb_substr并非PHP的中心函数,运用前须要翻开php.ini中的extension=php_mbstring.dll这一项

以上就是php完成中文字符串截取无乱码的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
php完成中文字符串截取无乱码【php题目】

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签: