php函数trim中文编码问题解决

原文作者: xingguang
原文链接:https://www.tiance.club/post/2735926554.html

调用代码

mb_internal_encoding("UTF-8");
$encoding = mb_internal_encoding();
$endData=self::mb_rtrim("广州市", "市",$encoding);
print_r($endData);exit;    

原文作者: xingguang
原文链接:http://www.tiance.club/post/2735926554.html

封装方法

public static function mb_rtrim($string, $trim, $encoding)
{
    $mask = [];
    $trimLength = mb_strlen($trim, $encoding);
    for ($i = 0; $i < $trimLength; $i++) {
        $item = mb_substr($trim, $i, 1, $encoding);
        $mask[] = $item;
    }

    $len = mb_strlen($string, $encoding);
    if ($len > 0) {
        $i = $len - 1;
        do {
            $item = mb_substr($string, $i, 1, $encoding);
            if (in_array($item, $mask)) {
                $len--;
            } else {
                break;
            }
        } while ($i-- != 0);
    }

    return mb_substr($string, 0, $len, $encoding);
}

原文作者: xingguang
原文链接:http://www.tiance.club/post/2735926554.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。