PHP   发布时间:2019-11-12  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8用法。分享给大家供大家参,具体如下:

= $totlelength && $start == 0 ) return $str; if ($start > $totlelength) return ""; //分析$start if ($start < 0 ) //$start<0时,转化为$start>0时的定位. { if ( abs($start) >= $totlelength ) $start = 0; else $start = $totlelength - abs($start); } //确定起始位置,当起始位拆分某汉字时,返回值包含此汉字. if ($start > 0) { $i = $start-1; $flag = -1; while ($i >= 0) { if ( ord(substr($str,$i,1)) > 160) { $flag = -1*$flag; } else break; $i--; } if($flag==1) { $start = $start - 1; $len++; //保证不位移. } } $str = substr($str,$start);//截除字符串$str的$start位前的字符 $totlelength = strlen($str); //确定结束位置,当结束位拆分某汉字时,返回值不包含此汉字. if ($len<0) $len = $totlelength - abs($len); if ($len <= 0) return ""; $i=min($len,$totlelength); $i--; $flag = -1; while ($i >= 0) { if (ord(substr($str,1))>160) { $flag=-1*$flag; } else break; $i--; } if($flag == 1) $len=$len-1; $subit=substr($str,$len); return $subit; } /****************************************************************** * php截取UTF-8字符串,解决半字符问题。 * 英文、数字(半角)为1字节(8位),中文(全角)为3字节 * @return 取出的字符串,当$len小于等于0时,会返回整个字符串 * @param $str 源字符串 * $len 左边的子串的长度 ****************************************************************/ function substr_for_utf($str,$len) { for($i=0;$i<$len;$i++) { $temp_str=substr($str,1); if(ord($temp_str) > 127) { $i++; if($i<$len) { $new_str[]=substr($str,3); $str=substr($str,3); } } else { $new_str[]=substr($str,1); $str=substr($str,1); } } return join($new_str); } ?> /*带start位置的utf8截取函数*/ function utf8_substr($String,$length) { preg_match_all ('/[/x00-/x7F]|[/xC2-/xDF][/x80-/xBF]|[/xE0-/xEF][/x80-/xBF][/x80-/xBF]|[/xF0-/xF4][/x80-/xBF][/x80-/xBF][/x80-/x BF]/',$String,$rs); $out = ''; $size = count ($rs[0]); $end = $start + $length; if ($end > $size ) { $end = $size; } for ($i = $start; $i < $end; $i++) { $out .= $rs[0][$i]; } return $out; }

补充:小编在这里推荐一款本站的php格式化美化的排版工具帮助大家在以后的php程序设计中进行代码排版:

php代码在线格式化美化工具:

另外,由于php属于C语言风格,因此下面这款工具同样可以实现php代码的格式化:

C语言风格/HTML/CSS/json代码格式化美化工具:

更多关于php相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》、《》、《》、《》及《php常见数据库操作技巧汇总》

希望本文所述对大家php程序设计有所帮助。

大佬总结

以上是大佬教程为你收集整理的php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例全部内容,希望文章能够帮你解决php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。