2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > php 中英字符串截取 支持utf8 跟gbk

php 中英字符串截取 支持utf8 跟gbk

时间:2022-01-22 22:17:45

相关推荐

php 中英字符串截取 支持utf8 跟gbk

后端开发|php教程

string,amp,lt,noc,length

后端开发-php教程

php 中英字符串截取,支持utf8 和gbk

成人影视站源码,ubuntu鼠标没有指针,爬虫的网店地址,php如何将年月日合成日期,运城seo外包lzw

?

asp商品管理系统源码,ubuntu桌面桌面放大,爬虫+获取动态页面,losthost php,成都seo代理lzw

今天在遇到了一个中英字符串截取的问题,在gbk里中文里每个字占两字节,如果全是中文的话,用substr()函数就可以实现了,但中英都有的话就麻烦了,在以前收藏的代码里找到了一个不错的函数,很好的实现了截取的功能

php企业网站首页源码,vscode如何双向搜索,ubuntu 搜索文件,tomcat删不掉bin,200g数据库 sqlite,微博爬虫只爬没有视频的微博,php cpu 100%,优化seo设计的好处,java社交网站的最近访客源码,ecshop模板制作lzw

?

function get_word($string, $length, $dot = ..,$charset=gbk) { if(strlen($string) <= $length) { return $string; } $string = str_replace(array(\, , &, \", \), array(\,\,&, \", \), $string); $strcut = \; if(strtolower($charset) == utf-8) { $n = $tn = $noc = 0; while($n < strlen($string)) { $t = ord($string[$n]); if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) {$tn = 1; $n++; $noc++; } elseif(194 <= $t && $t <= 223) {$tn = 2; $n += 2; $noc += 2; } elseif(224 <= $t && $t < 239) {$tn = 3; $n += 3; $noc += 2; } elseif(240 <= $t && $t <= 247) {$tn = 4; $n += 4; $noc += 2; } elseif(248 <= $t && $t = $length) {break; } } if($noc > $length) { $n -= $tn; } $strcut = substr($string, 0, $n); } else { for($i = 0; $i 127 ? $string[$i].$string[++$i] : $string[$i]; } } return $strcut.$dot;}

?

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