PHP 截取字符串的函数
2014-04-28 21:47
363 查看
/** * 截取字符串的函数 * * @param string $str 被截取的字符串 * @param int $length 截取的长度 * $param string $charset 编码设置,utf8,gbk * * @return string */ function sub_str($str, $length = 0, $charset='utf8') { $str = trim($str); $strlength = strlen($str); $charset = strtolower($charset);//将字符串转化为小写 $i=0; if ($charset == 'utf8') { $l = 0; while ($i < $strlength) { if (ord($str{$i}) < 0x80) {//返回字符的 ASCII 码值 $l++; $i++; } else if (ord($str{$i}) < 0xe0) { $l++; $i += 2; } else if (ord($str{$i}) < 0xf0) { $l += 2; $i += 3; } else if (ord($str{$i}) < 0xf8) { $l += 1; $i += 4; } else if (ord($str{$i}) < 0xfc) { $l += 1; $i += 5; } else if (ord($str{$i}) < 0xfe) { $l += 1; $i += 6; } if ($l >= $length) { $newstr = substr($str, 0, $i); break; } } if($l < $length) { return $str; } } elseif($charset == 'gbk') { if ($length == 0 || $length >= $strlength) { return $str; } while ($i <= $strlength) { if (ord($str{$i}) > 0xa0) { $l += 2; $i += 2; } else { $l++; $i++; } if ($l >= $length) { $newstr = substr($str, 0, $i); break; } } } return $newstr; }
相关文章推荐
- php字符串截取函数
- php 截取一定长度的字符串(该函数对GB2312使用有效
- PHP截取UTF-8字符串函数乱码解决方案【绝对好用】
- php 字符串截取函数
- php截取中文字符串长度的mb_substr()、mb_strcut()函数
- PHP字符串截取函数(解决中文乱码问题!支持UTF-8和GB2312)
- 整理一下收集的PHP字符串截取函数
- php字符串截取函数
- php 实现文章摘要功能,截取字符串的长度函数
- [整理]PHP字符串截取函数
- PHP 字符串编码截取函数(兼容utf-8和gb2312)
- php字符串处理函数 字符串查找、替换、截取
- php截取字符串并保留完整xml标签的函数代码
- 收藏几个支持中文的PHP字符串截取函数
- PHP基础12-自定义函数截取中文字符串
- php 字符串截取函数 substr();
- php中计算中文字符串长度、截取中文字符串的函数代码
- PHP中substr函数字符串截取用法分析
- php 字符串截取函数
- php学习第二章:字符串处理函数(二)字符串查找、替换、截取等