php截取包含混合字符串长度的函数

原创
2016-07-25 08:44:22 747浏览
  1. 肯定是中文、英文、特殊字符都能实现的。
  2. //utf-8中文截取,单字节截取模式
  3. function cn_substr_utf8($str,$length,$append='...',$start=0){
  4. if(strlen($str)<$start+1){
  5. return '';
  6. }
  7. preg_match_all("/./su",$str,$ar);
  8. $str2='';
  9. $tstr='';
  10. for($i=0;isset($ar[0][$i]);$i++){
  11. if(strlen($tstr)<$start){
  12. $tstr.=$ar[0][$i];
  13. }else{
  14. if(strlen($str2)<$length + strlen($ar[0][$i])){
  15. $str2.=$ar[0][$i];
  16. }else{
  17. break;
  18. }
  19. }
  20. }
  21. return $str==$str2?$str2:$str2.$append;
  22. }
  23. //----使用举例如下:
  24. echo cn_substr_utf8('我是一个,和哈,哦也,,国家!',12);
复制代码

php


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
上一条:php防范SQL注入 下一条:PHP防SQL注入的一个类

相关文章

查看更多