1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > PHP针对中英文混合字符串长度判断及截取方法的示例详解

PHP针对中英文混合字符串长度判断及截取方法的示例详解

时间:2024-05-21 20:26:35

相关推荐

PHP针对中英文混合字符串长度判断及截取方法的示例详解

后端开发|php教程

PHP,中英文,字符串

后端开发-php教程

/** * * 中英混合字符串长度判断 * @param unknown_type $str * @param unknown_type $charset */function strLength($str, $charset = utf-8) { if ($charset == utf-8) $str = iconv ( utf-8, gb2312, $str ); $num = strlen ( $str ); $cnNum = 0; for($i = 0; $i 127) {$cnNum ++;$i ++; } } $enNum = $num - ($cnNum * 2); $number = ($enNum / 2) + $cnNum; return ceil ( $number );}

/** * * 中英混合的字符串截取 * @param unknown_type $sourcestr * @param unknown_type $cutlength */function cut_str($sourcestr, $cutlength) { $returnstr = \; $i = 0; $n = 0; $str_length = strlen ( $sourcestr ); //字符串的字节数 while ( ($n < $cutlength) and ($i = 224) //如果ASCII位高与224, {$returnstr = $returnstr . substr ( $sourcestr, $i, 3 ); //根据UTF-8编码规范,将3个连续的字符计为单个字符 $i = $i + 3; //实际Byte计为3$n ++; //字串长度计1 } elseif ($ascnum >= 192) //如果ASCII位高与192, {$returnstr = $returnstr . substr ( $sourcestr, $i, 2 ); //根据UTF-8编码规范,将2个连续的字符计为单个字符 $i = $i + 2; //实际Byte计为2$n ++; //字串长度计1 } elseif ($ascnum >= 65 && $ascnum $cutlength) { $returnstr = $returnstr . "..."; //超过长度时在尾处加上省略号 } return $returnstr;}

android 手机通讯录 源码,ubuntu删除找回,tomcat 引用jdk8,爬虫中content,psr7 php中文,南昌百度seo联系电话lzw

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。