我的学习生活记录

这里是SUYE的站点

PHP 自定义实用函数

2021-8-4 夙夜 实际技能

/**
     * 截取UTF-8编码下字符串的函数
     *
     * @param   string      $str        被截取的字符串
     * @param   int         $length     截取的长度
     * @param   bool        $append     是否附加省略号
     *
     * @return  string
     */
    function sub_str($str, $length = 0, $append = true)
    {
        $str = trim($str);
        $strlength = strlen($str);

        if ($length == 0 || $length >= $strlength) {
            return $str;
        } elseif ($length < 0) {
            $length = $strlength + $length;
            if ($length < 0) {
                $length = $strlength;
            }
        }

        if (function_exists('mb_substr')) {
            $newstr = mb_substr($str, 0, $length, 'utf-8');
        } elseif (function_exists('iconv_substr')) {
            $newstr = iconv_substr($str, 0, $length, 'utf-8');
        } else {
            $newstr = substr($str, 0, $length);
        }

        if ($append && $str != $newstr) {
            $newstr .= '...';
        }

        return $newstr;
    }

        /**
            *函数:m_mb_convert_encoding($string) $string要转码的字符串或数组
            *功能:对字符串或数组进行mb_convert_encoding转码
        */
        function m_mb_convert_encoding($string) {
            if(!is_array($string) && !is_int($string)) {
                return mb_convert_encoding($string, 'UTF-8', 'UTF-8');
            }

            foreach($string as $key => $value) {
                $string[$key] = m_mb_convert_encoding($value);
            }

            return $string;
        }

标签: php