位置: 编程技术 - 正文
推荐整理分享PHP中文字符串截断无乱码解决方法(php取字符串),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:php substring截取字符串,php substr中文截取,php字符串截取 指定字符串,php中文字符串长度,php substr中文截取,php substr中文截取,php substring截取字符串,php字符串截取 指定字符串,内容如对您有帮助,希望把文章链接给更多的朋友!
一个比较好用的字符串截取函数:
使用方法示例:
结果显示:
我是一串比较我是一串比较中文不带英文中文带yingwen
这个函数十分有用,比如用来截断比较长的文件名,但是要在中间加上...,可以这样来做:
另外,网上看到一种超级简单的中文截断解决方案,试用了一下,效果也不错:
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可以实现如下(这对汉字长度做了小优化):
标签: php取字符串
本文链接地址:https://www.jiuchutong.com/biancheng/301790.html 转载请保留说明!上一篇:php表单加入Token防止重复提交的方法分析(php access_token)
下一篇:php 获取文件行数的方法总结(php获取文件信息)
友情链接: 武汉网站建设