当前位置: 首页 > 图文教程 > 网络编程 > PHP > php字符串截取中文截取2,单字节截取模式

PHP
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
用mysql内存表来代替php session的类
简化php模板页面中分页代码的解析
一周让你学会PHP 不错的学习资料
PHP 数据库树的遍历方法
php实现从ftp服务器上下载文件树到本地电脑的程序
PHP 操作文件的一些FAQ总结
PHP 截取字符串 分别适合GB2312和UTF8编码情况
PHP 编程的 5个良好习惯
php下几个常用的去空、分组、调试数组函数
PHP Ajax中文乱码问题解决方法
php 采集书并合成txt格式的实现代码
php Try Catch异常测试
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
Zend 输出产生XML解析错误
php动态生成JavaScript代码
隐性调用php程序的方法
在JavaScript中调用php程序
php 数组的创建、调用和更新实现代码
php生成SessionID和图片校验码的思路和实现代码

PHP 中的 php字符串截取中文截取2,单字节截取模式


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 198 ::
收藏到网摘: n/a

//中文截取2,单字节截取模式
function cn_substr($str,$slen,$startdd=0){
$restr = "";
$c = "";
$str_len = strlen($str);
if($str_len < $startdd+1) return "";
if($str_len < $startdd + $slen || $slen==0) $slen = $str_len - $startdd;
$enddd = $startdd + $slen - 1;
for($i=0;$i<$str_len;$i++)
{
if($startdd==0) $restr .= $c;
else if($i > $startdd) $restr .= $c;
if(ord($str[$i])>0x80){
if($str_len>$i+1) $c = $str[$i].$str[$i+1];
$i++;
}
else{ $c = $str[$i]; }
if($i >= $enddd){
if(strlen($restr)+strlen($c)>$slen) break;
else{ $restr .= $c; break; }
}
}
return $restr;
}
function cn_midstr($str,$start,$len){
return cn_substr($str,$slen,$startdd);
}