php截取中文字符串解决乱码问题
来源:互联网 发布:javascript启示录 pdf 编辑:程序博客网 时间:2024/05/20 00:37
当我们使用php进行字符串截取的时候,经常会出现乱码,于是这样的方法可以完美解决字符串问题,截取字符串之后超过长度的添加"…"。
方法如下:
/** * Utf-8、gb2312都支持的汉字截取函数 * cut_str(字符串, 截取长度, 开始长度, 编码); * 编码默认为 utf-8 * 开始长度默认为 0 */function cut_str($string, $sublen, $start = 0, $code = 'UTF-8'){ if($code == 'UTF-8') { $pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/"; preg_match_all($pa, $string, $t_string); if(count($t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen))."…"; return join('', array_slice($t_string[0], $start, $sublen)); } else { $start = $start*2; $sublen = $sublen*2; $strlen = strlen($string); $tmpstr = ''; for($i=0; $i< $strlen; $i++) { if($i>=$start && $i< ($start+$sublen)) { if(ord(substr($string, $i, 1))>129) { $tmpstr.= substr($string, $i, 2); } else { $tmpstr.= substr($string, $i, 1); } } if(ord(substr($string, $i, 1))>129) $i++; } if(strlen($tmpstr)< $strlen ) $tmpstr.= "…"; return $tmpstr; }}
- php截取中文字符串解决乱码问题
- 【PHP】解决 php 截取字符串中文乱码问题
- 解决php中截取字符串的中文乱码问题
- PHP使用mb_substr()解决中文字符串截取乱码问题
- php截取中文字符串时乱码问题
- PHP 截取中文字符串乱码问题
- php截取中文字符串乱码问题
- php解决中文截取乱码问题
- PHP解决截取字符串乱码问题
- 解决PHP截取中文字符串问题
- php 中文字符串截取乱码
- php截取字符串,解决乱码问题与html标签问题
- PHP无乱码截取中文字符串
- PHP截取字符串完美版,不用担心中文截取乱码
- PHP(UTF)截取字符串乱码问题
- 解决PHP中文乱码问题
- PHP - 解决中文乱码问题
- 解决php中文乱码问题
- php中error_report函数的含义及各参数含义
- 基于struts2实现ajax的2种标准方法
- Boost 不同Mutex的大体说明
- Android文件存储
- sql语句
- php截取中文字符串解决乱码问题
- Xcode4.4免证书调试
- jquery 实现类似139、163邮箱那样的多选项卡窗口浏览
- android asset studio
- webwork+cas认证在表单提交后乱码问题解决心得
- 使用hibernate2的时候出现session中对象重复错误
- js动态给对象onclick事件赋值,动态传参数
- URL特殊字符需转义
- Hibernate2查询视图时,数据库返回多条纪录,封装后的对象却都是一样的问题