php截取UTF-8字符
博客专区 > ZaneJoh 的博客 > 博客详情
php截取UTF-8字符
ZaneJoh 发表于3年前
php截取UTF-8字符
  • 发表于 3年前
  • 阅读 4
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: php截取UTF-8字符串

<?php


class String

{

    public static function truncate_utf8_string($string, $length, $etc = '...')

    {

        $result = '';

        $string = html_entity_decode(trim(strip_tags($string)), ENT_QUOTES, 'UTF-8');

        $strlen = strlen($string);

        for ($i = 0; (($i < $strlen) && ($length > 0)); $i++) {

            if ($number = strpos(str_pad(decbin(ord(substr($string, $i, 1))), 8, '0', STR_PAD_LEFT), '0')) {

                if ($length < 1.0) {

                    break;

                }

                $result .= substr($string, $i, $number);

                $length -= 1.0;

                $i += $number - 1;

            } else {

                $result .= substr($string, $i, 1);

                $length -= 0.5;

            }

        }


        $result = htmlspecialchars($result, ENT_QUOTES, 'UTF-8');

        if ($i < $strlen) {

            $result .= $etc;

        }

        return $result;

    }

}

共有 人打赏支持
粉丝 3
博文 43
码字总数 9236
×
ZaneJoh
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: