站长网 经验 Phpcms V9截取字符函数改进 截取英文非常精确

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

今天在这里分享最近在英文网站中优化的一个小改进,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截取字符函数改进 截取英文非常精确

本文来自网络,不代表站长网立场,转载请注明出处:https://www.zwzz.com.cn/html/jianzhan/jy/2021/1218/38402.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部