注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

学以致用

盛年不再来,一日难再晨。及时宜自勉,岁月不待人。

 
 
 

日志

 
 

PHP截取中英文及标点符号混合的字符串函数  

2012-12-29 14:33:56|  分类: PHP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
PHP截取中英文及标点符号混合的字符串函数
//==================
// by watcher
//==================
////////////////////////////////////////////////////////////////////
// PHP截取中英文及标点符号混合的字符串函数(绝对不会出现乱码)
// 本程序在utf-8、gb2312中测试通过。使用者自行测试big5。
// 函数 left( 源字符串, 截取指定的字符串个数, 编码(可省略,默认为utf-8) )
////////////////////////////////////////////////////////////////////
function left_watcher($str, $len, $charset="utf-8"){
//如果截取长度小于等于0,则返回空
if( !is_numeric($len) or $len <= 0 ){
return "";
}
//如果截取长度大于总字符串长度,则直接返回当前字符串
$sLen = strlen($str);
if( $len >= $sLen ){
return $str;
}
if ( strtolower($charset) == "utf-8" ){
$len_step = 3;
}else{
$len_step = 2;
}
$len_i = 0;
$substr_len = 0;
for( $i=0; $i < $sLen; $i++ ){
if ( $len_i >= $len ) break;
if( ord(substr($str,$i,1)) > 0xa0 ){
$i += $len_step - 1;
$substr_len += $len_step;
}else{
$substr_len ++;
}
$len_i ++;
}
$result_str = substr($str,0,$substr_len );
return $result_str;
}

http://blog.sina.com.cn/s/blog_73ac14c60100zudl.html
  评论这张
 
阅读(1035)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017