美文网首页
Laravel 截取字符串

Laravel 截取字符串

作者: HongXunPan | 来源:发表于2020-02-16 16:13 被阅读0次

业务中需要截取字符串长度,超出部分用...代替

方法

  • str_limit()

查询老的资料可以用str_limit($value, $limit = 100, $end = '...')来截取超出的字符串
让我们来看看该函数的源码,在 vendor\laravel\framework\src\Illuminate\Support\helpers.php 文件中的 957 行

if (! function_exists('str_limit')) {
    /**
     * Limit the number of characters in a string.
     *
     * @param  string  $value
     * @param  int     $limit
     * @param  string  $end
     * @return string
     *
     * @deprecated Str::limit() should be used directly instead. Will be removed in Laravel 6.0.
     */
    function str_limit($value, $limit = 100, $end = '...')
    {
        return Str::limit($value, $limit, $end);
    }
}

函数文档部分说明了该函数已被废弃,将在 laravel 6.0 中正式移除,推荐用
Str::limit() 替代;并且

  • Str::limit()

我们来看一下源码,在 vendor\laravel\framework\src\Illuminate\Support\Str.php 的 238 行

    /**
     * Limit the number of characters in a string.
     *
     * @param  string  $value
     * @param  int     $limit
     * @param  string  $end
     * @return string
     */
    public static function limit($value, $limit = 100, $end = '...')
    {
        if (mb_strwidth($value, 'UTF-8') <= $limit) {
            return $value;
        }

        return rtrim(mb_strimwidth($value, 0, $limit, '', 'UTF-8')).$end;
    }

可以看到 Str::limit() 里用的是 mb_strwidth()来计算UTF-8编码的字符串宽度,再用 mb_strimwidth() 进行字符串宽度截取。

* 计算宽度的时候,中文算2个长度,英文算1个长度

相关文章

  • Laravel 截取字符串

    业务中需要截取字符串长度,超出部分用...代替 方法 str_limit() 查询老的资料可以用str_limit...

  • mac 终端常见命令

    切换shell 截取字符串 shell字符串的截取 shell字符串的截取 Shell脚本8种字符串截取方法总...

  • swift-字符串截取 截取指定字符前面或后面的字符串

    截取‘:’前面所有的字符串 截取‘:’前面所有的字符串(结果包含‘:’) 截取':'后面的所有字符串 截取':'后...

  • iOS 字符串常见处理

    一、截取字符串 iOS “字符串” 的几种常见的截取方法(随时更新)iOS截取字符串,分割字符串iOS 截取字符串...

  • OC - NSString

    1.字符串的截取 字符串的截取用: 字符串 +substring..如果开始就截取用from, 如果截取到用to。...

  • OC 字符串的截取

    1、字符串截取 2、从指定位置开始截取n个长度 3、分隔字符串 4、字符串的截取替换 5、替换掉截取某部分的字符串...

  • Swift字符串截取

    NSString类型的字符串截取 NSString类型的字符串截取方法,同于OC语言的字符串截取方法,不能修改字符...

  • MySQL字符串截取的4个函数

    mysql字符串截取的4个函数 tags:mysql 字符串截取 1、从左开始截取字符串 left(str, le...

  • shell截取字符串

    获取字符串长度 最小限度从前面截取字符串 最大限度从前面截取字符串 最小限度从后面截取字符串 最大限度从后面截取字...

  • sql常用函数

    SUBSTRING():截取字符串参数1:字符串参数2:截取开始位置参数3:截取字符串的长度 LEFT():返回指...

网友评论

      本文标题:Laravel 截取字符串

      本文链接:https://www.haomeiwen.com/subject/xqopfhtx.html