PHP 中文字符串截取函数 - 开源中国社区
跳至
- /**
- * 中文字符串截取
- * @param $str
- * @param int $start @起始位置
- * @param $length @截取长度
- * @param string $ending @结尾符
- * @return string
- */
- private static
- function stringSubstr($str, $start = 0, $length, $ending = '') {
- //$str = html_entity_decode($str); // 实体字符转为 html
- $str = trim(strip_tags($str)); // 去除 html 字符
- $str = preg_replace("/\s|| /", "", $str);
- $mb_str = mb_substr($str, $start, $length, 'utf-8');
- if ($length < method: :abslength($str)) {
- $output = $mb_str.$ending;
- } else {
- $output = $mb_str;
- }
- return $output;
- }
- /**
- * 可以统计中文字符串长度的函数
- * @param $str @要计算长度的字符串
- * @return int @计算长度类型, 0(默认) 表示一个中文算一个字符, 1 表示一个中文算两个字符
- */
- private static
- function abslength($str) {
- if (empty($str)) {
- return 0;
- }
- if (function_exists('mb_strlen')) {
- return mb_strlen($str, 'utf-8');
- } else {
- preg_match_all("/./u", $str, $ar);
- return count($ar[0]);
- }
- }
来源: https://www.php1.cn/detail/php-e9ee7a8ab3.html