1. 程式人生 > 實用技巧 >話說Laravel7便捷的字串操作

話說Laravel7便捷的字串操作

話說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,以上介紹了一些常用的方法,其實都是文件上的操作,我只不過那不過來操作演示一遍,更多的用法,請直接檢視 文件

下面是 所有的方法集合