加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

Phpcms V9截取字符函数改进 截取英文非常精确

发布时间:2021-12-18 11:57:27 所属栏目:建站 来源:互联网
导读:今天在这里分享最近在英文网站中优化的一个小改进,Phpcms V9截取字符函数改进,截取英文更精确,具体方法来自PC官方论坛,分享在此. 官方默认的str_cut()截取的字符统计长度不精准,特别是在中英文字符混搭的时候,调用列表会出现问题,采用【拽拽焱】分享的方
今天在这里分享最近在英文网站中优化的一个小改进,Phpcms V9截取字符函数改进,截取英文更精确,具体方法来自PC官方论坛,分享在此.
 
官方默认的str_cut()截取的字符统计长度不精准,特别是在中英文字符混搭的时候,调用列表会出现问题,采用【拽拽焱】分享的方法,可以将长度偏差在2个字符内,很不错,先赞一个.
 
具体代码:
 
/**
 * 字符截取 支持UTF8/GBK
 * @param $string
 * @param $length
 * @param $dot
 */
        } else {                 
                while($n < $strlen) {
                        if(ord($string[$n]) > 127) {
                                $tn = 2; $n += 2; $noc += 1;
                        } else{
                                $tn = 1; ++$n; $noc += 0.5;
                        }
                        if($noc >= $length) {
                                if($n < $strlen) ++$noc;
                                break;
                        }
                }
        }
        if($noc > $length && !emptyempty($dot)) {
                $n -= $tn;
                $strcut = substr($string, 0, $n);
                $strcut .= $dot;
        }else{
                $strcut = substr($string, 0, $n);
        }  //Cuoxin.com
        $strcut = str_replace(array('&', '"', "'", '“', '”', '—', '<', '>', '·', '…'), array('&', '"', ''', '“', '”', '—', '<', '>', '·', '…'), $strcut);
        return $strcut;
}
 


Phpcms V9截取字符函数改进 截取英文非常精确

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!