話說Laravel7便捷的字串操作
阿新 • • 發佈:2020-07-17
話說Laravel7便捷的字串操作
用過Laravel的朋友都知道,Laravel內建的字串處理函式有了解,Illuminate\Support\Str類。
Laravel 7 現在基於這些函式提供了一個更加面向物件的、更加流暢的字串操作庫。你可以使用 String::of 建立一個 Illuminate\Support\Stringable 物件,然後基於該物件提供的方法以鏈式的操作對字串進行處理:
這裡我們先看一下官方的例項:
return (string) Str::of(' Laravel Framework 6.x ') ->trim() ->replace('6.x', '7.x') ->slug();
上面的程式碼,來自官網發行說明,我們很容易看到,每個方法都是幹嘛的。
首先第一步將字串 Laravel Framework 6.x 使用 Str::of() 方法進行包裹,之後我們就可以使用 Laravel 7 為我們提供的各種流暢的操作方法。
比如 trim() 去除前後空格。 replace() 進行替換,slug() 將字串變成 slug 的形式
上面的程式碼實際執行結果就是:
laravel-framework-7x
上面的方法是不是用起來非常簡單?
接下來我們介紹幾個常用的方法。
before() 方法
返回字串中給定值之前的所有內容:
Str::of('my website is www.wjcms.net')->before('is'); // 'my website '
同理有 before(),就會有 after()
after() 方法
返回字串中給定值之後的所有內容。如果字串中不存在該值,則將返回整個字串:
Str::of('my website is www.wjcms.net')->after('is');
// ' www.wjcms.net'
append() 方法
將給定值附加到字串:
Str::of('vue')->append(' cli');
// 'vue cli'
lower() 方法
將字串轉換為小寫:
Str::of('LARAVEL FRAMEWORK')->lower(); // 'laravel framework'
upper() 方法
將給定的字串轉換為大寫:
Str::of('laravel')->upper();
// LARAVEL
title() 方法
將給定的字串轉換為「首字母大寫」:
Str::of('my website is www.wjcms.net')->title();
// 'My Website Is Www.wjcms.net'
substr() 方法
將給定的 start 和 length 引數指定的字串部分:(從第幾個字元開始擷取,擷取多少位)
Str::of('Laravel Framework')->substr(8);
// 'Framework'
Str::of('Laravel Framework')->substr(8, 6);
// 'Framew'
ucfirst() 方法
將給定的字串首字母大寫:
Str::of('my website is www.wjcms.net')->ucfirst();
// 'My website is www.wjcms.net'
words() 方法
限制字串中的單詞數:
Str::of('my website is www.wjcms.net')->words(3, ' ...');
// 'my website is ...'
length() 方法
返回字串的長度:
Str::of('Laravel framework')->length();
// 17
ok,以上介紹了一些常用的方法,其實都是文件上的操作,我只不過那不過來操作演示一遍,更多的用法,請直接檢視 文件
下面是 所有的方法集合