Ver código fonte

Merge pull request #287 from augusl/master

str limit
Jiang Qinghua 4 anos atrás
pai
commit
7af9b40277
2 arquivos alterados com 18 adições e 2 exclusões
  1. 1 2
      src/Grid/Displayers/Limit.php
  2. 17 0
      src/Support/Helper.php

+ 1 - 2
src/Grid/Displayers/Limit.php

@@ -4,7 +4,6 @@ namespace Dcat\Admin\Grid\Displayers;
 
 use Dcat\Admin\Admin;
 use Dcat\Admin\Support\Helper;
-use Illuminate\Support\Str;
 
 class Limit extends AbstractDisplayer
 {
@@ -39,7 +38,7 @@ JS;
         // 字符串
         $this->addScript();
 
-        $value = Str::limit($this->value, $limit, $end);
+        $value = Helper::strLimit($this->value, $limit, $end);
 
         $original = $this->column->getOriginal();
 

+ 17 - 0
src/Support/Helper.php

@@ -641,4 +641,21 @@ class Helper
 
         return (string) $value1 === (string) $value2;
     }
+
+    /**
+     * Limit the number of characters in a string.
+     *
+     * @param string $value
+     * @param int $limit
+     * @param string $end
+     * @return string
+     */
+    public static function strLimit($value, $limit = 100, $end = '...')
+    {
+        if (mb_strlen($value, 'UTF-8') <= $limit) {
+            return $value;
+        }
+
+        return rtrim(mb_substr($value, 0, $limit, 'UTF-8')).$end;
+    }
 }