2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > php 中对中英文混合字符串长度的判断及截取实例详解

php 中对中英文混合字符串长度的判断及截取实例详解

时间:2023-04-21 04:24:12

相关推荐

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;}

空间秒赞网站源码,ubuntu选择启动硬盘,tomcat启动时很慢,搜房网爬虫乱码,点击事件触发php函数,邪恶seolzw

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