位置: 编程技术 - 正文

PHP中文字符串截断无乱码解决方法(php取字符串)

编辑:rootadmin

推荐整理分享PHP中文字符串截断无乱码解决方法(php取字符串),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php substring截取字符串,php substr中文截取,php字符串截取 指定字符串,php中文字符串长度,php substr中文截取,php substr中文截取,php substring截取字符串,php字符串截取 指定字符串,内容如对您有帮助,希望把文章链接给更多的朋友!

一个比较好用的字符串截取函数:

使用方法示例:

结果显示:

我是一串比较我是一串比较中文不带英文中文带yingwen

这个函数十分有用,比如用来截断比较长的文件名,但是要在中间加上...,可以这样来做:

PHP中文字符串截断无乱码解决方法(php取字符串)

另外,网上看到一种超级简单的中文截断解决方案,试用了一下,效果也不错:

echo substr($str1,0,).chr(0);

原理解释:

chr(0)不是nullnull是什么都没有,而chr(0)的值是0。表示成进制是0x,表示成二进制是虽然chr(0)不会显示出什么,但是他是一个字符。当汉字被截断时,根据编码规则他总是要把后边的其他字符拉过来一起作为汉字解释,这就是出现乱码的原因。而值为0x到0xff与0x组合始终都显示为“空”根据这一特点,在substr的结果后面补上一个chr(0),就可以防止出现乱码了

----------------------------

更新:

以上方法虽好,但是偶尔还是会碰到乱码,原因未深究。不过可以用以下的方法,对UTF8字符文本屡试不爽。注意:该方法中将汉字计算为1单位长度,英文一个字母1单位长度,所以截断时需要注意长度设置。计算长度的方法:

字符串截断函数:

使用方法和之前介绍的一样,比如formatName可以实现如下(这对汉字长度做了小优化):

本文链接地址:https://www.jiuchutong.com/biancheng/301790.html 转载请保留说明!

上一篇:php表单加入Token防止重复提交的方法分析(php access_token)

下一篇:php 获取文件行数的方法总结(php获取文件信息)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络