PHP字符串截取
来源:互联网 发布:社交软件的用户数 编辑:程序博客网 时间:2024/06/05 20:56
/** * * 字符截取 * @param string $string * @param int $start * @param int $length * @param string $charset * @param string $dot * * @return string */function str_cut(&$string, $start, $length, $charset = "utf-8", $dot = '...') { if(function_exists('mb_substr')) { if(mb_strlen($string, $charset) > $length) { return mb_substr ($string, $start, $length, $charset) . $dot; } return mb_substr ($string, $start, $length, $charset); }else if(function_exists('iconv_substr')) { if(iconv_strlen($string, $charset) > $length) { return iconv_substr($string, $start, $length, $charset) . $dot; } return iconv_substr($string, $start, $length, $charset); } $charset = strtolower($charset); switch ($charset) { case "utf-8" : preg_match_all("/[\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]/", $string, $ar); if(func_num_args() >= 3) { if (count($ar[0]) > $length) { return join("", array_slice($ar[0], $start, $length)) . $dot; } return join("", array_slice($ar[0], $start, $length)); } else { return join("", array_slice($ar[0], $start)); } break; default: $start = $start * 2; $length = $length * 2; $strlen = strlen($string); for ( $i = 0; $i < $strlen; $i++ ) { if ( $i >= $start && $i < ( $start + $length ) ) { 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 .= $dot; return $tmpstr; }}
阅读全文
0 0
- php 截取中文字符串
- php的字符串截取
- PHP 截取字符串专题
- PHP 截取字符串专题
- PHP截取中文字符串
- PHP 字符串截取函数
- PHP 截取字符串专题
- PHP 截取字符串专题
- PHP 截取字符串函数
- PHP 截取字符串专题
- php截取中文字符串
- PHP 字符串截取
- 字符串截取php
- PHP截取中文字符串
- php 截取字符串
- PHP截取中文字符串
- php截取字符串方法
- php截取字符串方法
- V4L2驱动框架与应用程序学习
- 大数据Spark企业级实战版【学习笔记】---Spark简介
- php 二维数组排序
- 微信小程序基础之input输入框控件
- Makefile工程管理
- PHP字符串截取
- 清空数据库表结构的几种方式
- 利用inotify+rsync实现linux文件批量更新
- 二丶集合,队列
- 网易2017春招笔试题(1)
- layer弹出层的位置设置
- Oracle数据库配置监听
- 服务器DELL R710配置安装centos经验之谈
- 神经网络学习(转载)