Giới thiệu

Tiếp nối phần đầu tiên về Fluent Strings trong Laravel, phần 2 này sẽ tiếp tục giới thiệu và hướng dẫn sử dụng các hàm Fluent Strings khác. Các hàm này giúp bạn xử lý chuỗi một cách nhanh chóng và thuận tiện hơn trong quá trình phát triển ứng dụng. Chúng ta sẽ tìm hiểu về các hàm như isUrl(), replace(), slug(), và nhiều hàm khác.

1. isUrl($string)

Kiểm tra xem chuỗi có phải là một URL hợp lệ không.

Cách sử dụng:

php
use Illuminate\Support\Str;

$result = Str::of('https://codetuthub.com')->isUrl();
// Kết quả: true

2. isUuid($string)

Kiểm tra xem chuỗi có phải là UUID hợp lệ không.

Cách sử dụng:

php
$result = Str::of('123e4567-e89b-12d3-a456-426614174000')->isUuid();
// Kết quả: true

3. kebab($string)

Chuyển chuỗi thành dạng kebab-case (chuỗi chữ thường, các từ cách nhau bằng dấu gạch ngang).

Cách sử dụng:

php
$result = Str::of('Laravel Framework')->kebab();
// Kết quả: "laravel-framework"

4. lcfirst($string)

Chuyển ký tự đầu tiên của chuỗi thành chữ thường.

Cách sử dụng:

php
$result = Str::of('Laravel')->lcfirst();
// Kết quả: "laravel"

5. length($string)

Trả về độ dài của chuỗi.

Cách sử dụng:

php
$result = Str::of('Laravel')->length();
// Kết quả: 7

6. limit($string, $limit = 100, $end = '...')

Giới hạn độ dài của chuỗi và thêm dấu ... nếu chuỗi vượt quá độ dài cho phép.

Cách sử dụng:

php
$result = Str::of('Laravel is an amazing framework')->limit(10);
// Kết quả: "Laravel is..."

7. lower($string)

Chuyển chuỗi thành chữ thường.

Cách sử dụng:

php
$result = Str::of('LARAVEL')->lower();
// Kết quả: "laravel"

8. markdown($string)

Chuyển đổi chuỗi Markdown thành HTML.

Cách sử dụng:

php
$result = Str::of('**Laravel** is _awesome_')->markdown();
// Kết quả: "<strong>Laravel</strong> is <em>awesome</em>"

9. mask($string, $character, $start, $length)

Thay thế các ký tự trong chuỗi bằng một ký tự nhất định từ vị trí start và độ dài length.

Cách sử dụng:

php
$result = Str::of('123456789')->mask('*', 2, 4);
// Kết quả: "12****789"

10. match($pattern)

Tìm chuỗi con khớp với biểu thức chính quy.

Cách sử dụng:

php
$result = Str::of('Laravel 8')->match('/[0-9]+/');
// Kết quả: "8"

11. matchAll($pattern)

Tìm tất cả các chuỗi con khớp với biểu thức chính quy.

Cách sử dụng:

php
$result = Str::of('Laravel 8, Symfony 5')->matchAll('/[0-9]+/');
// Kết quả: Collection chứa "8" và "5"

12. isMatch($pattern)

Kiểm tra xem chuỗi có khớp với biểu thức chính quy không.

Cách sử dụng:

php
$result = Str::of('Laravel 8')->isMatch('/Laravel/');
// Kết quả: true

13. newLine()

Thêm ký tự xuống dòng vào chuỗi.

Cách sử dụng:

php
$result = Str::of('Laravel')->newLine();
// Kết quả: "Laravel\n"

14. padBoth($length, $pad)

Thêm ký tự vào cả hai đầu chuỗi để đạt được độ dài nhất định.

Cách sử dụng:

php
$result = Str::of('Laravel')->padBoth(10, '*');
// Kết quả: "**Laravel**"

15. padLeft($length, $pad)

Thêm ký tự vào đầu chuỗi để đạt được độ dài nhất định.

Cách sử dụng:

php
$result = Str::of('Laravel')->padLeft(10, '*');
// Kết quả: "***Laravel"

16. padRight($length, $pad)

Thêm ký tự vào cuối chuỗi để đạt được độ dài nhất định.

Cách sử dụng:

php
$result = Str::of('Laravel')->padRight(10, '*');
// Kết quả: "Laravel***"

17. pipe($callback)

Truyền chuỗi qua callback để xử lý thêm.

Cách sử dụng:

php
$result = Str::of('laravel')->pipe(function ($string) {
    return $string->upper();
});
// Kết quả: "LARAVEL"

18. plural($string)

Chuyển chuỗi sang dạng số nhiều (plural).

Cách sử dụng:

php
$result = Str::of('car')->plural();
// Kết quả: "cars"

19. position($needle)

Tìm vị trí xuất hiện đầu tiên của một chuỗi con.

Cách sử dụng:

php
$result = Str::of('Laravel Framework')->position('Framework');
// Kết quả: 8

20. prepend($value)

Thêm chuỗi vào đầu chuỗi hiện tại.

Cách sử dụng:

php
$result = Str::of('Framework')->prepend('Laravel ');
// Kết quả: "Laravel Framework"

21. remove($search)

Loại bỏ chuỗi con ra khỏi chuỗi hiện tại.

Cách sử dụng:

php
$result = Str::of('Laravel Framework')->remove('Framework');
// Kết quả: "Laravel "

22. repeat($times)

Lặp lại chuỗi một số lần nhất định.

Cách sử dụng:

php
$result = Str::of('Laravel')->repeat(3);
// Kết quả: "LaravelLaravelLaravel"

23. replace($search, $replace)

Thay thế tất cả các chuỗi con khớp với chuỗi $search bằng $replace.

Cách sử dụng:

php
$result = Str::of('Laravel 6')->replace('6', '8');
// Kết quả: "Laravel 8"

24. replaceArray($search, array $replace)

Thay thế chuỗi con đầu tiên khớp với chuỗi $search bằng các giá trị trong mảng.

Cách sử dụng:

php
$result = Str::of('This is ?, and this is ?')->replaceArray('?', ['Laravel', 'PHP']);
// Kết quả: "This is Laravel, and this is PHP"

25. replaceFirst($search, $replace)

Thay thế lần xuất hiện đầu tiên của chuỗi con khớp với $search bằng $replace.

Cách sử dụng:

php
$result = Str::of('The quick brown fox jumps over the lazy dog')->replaceFirst('the', 'a');
// Kết quả: "The quick brown fox jumps over a lazy dog"

26. replaceLast($search, $replace)

Thay thế lần xuất hiện cuối cùng của chuỗi con khớp với $search bằng $replace.

Cách sử dụng:

php
$result = Str::of('The quick brown fox jumps over the lazy dog')->replaceLast('the', 'a');
// Kết quả: "The quick brown fox jumps over a lazy dog"

27. replaceMatches($pattern, $replace)

Thay thế tất cả các chuỗi con khớp với biểu thức chính quy bằng một giá trị khác.

Cách sử dụng:

php
$result = Str::of('foo bar 123')->replaceMatches('/[0-9]+/', '456');
// Kết quả: "foo bar 456"

28. replaceStart($search, $replace)

Thay thế chuỗi con ở đầu chuỗi bằng giá trị khác.

Cách sử dụng:

php
$result = Str::of('Laravel 8')->replaceStart('Laravel', 'Symfony');
// Kết quả: "Symfony 8"

29. replaceEnd($search, $replace)

Thay thế chuỗi con ở cuối chuỗi bằng giá trị khác.

Cách sử dụng:

php
$result = Str::of('Hello World')->replaceEnd('World', 'Everyone');
// Kết quả: "Hello Everyone"

30. scan($pattern)

Quét chuỗi để tìm tất cả các chuỗi con khớp với biểu thức chính quy.

Cách sử dụng:

php
$result = Str::of('foo bar baz')->scan('/ba./');
// Kết quả: Collection chứa "bar" và "baz"

31. singular($string)

Chuyển chuỗi về dạng số ít.

Cách sử dụng:

php
$result = Str::of('cars')->singular();
// Kết quả: "car"

32. slug($string, $separator = '-')

Chuyển chuỗi thành dạng slug phù hợp cho URL.

Cách sử dụng:

php
$result = Str::of('Laravel Framework')->slug();
// Kết quả: "laravel-framework"

33. snake($string, $delimiter = '_')

Chuyển chuỗi thành dạng snake_case.

Cách sử dụng:

php
$result = Str::of('Laravel Framework')->snake();
// Kết quả: "laravel_framework"

34. split($pattern)

Chia chuỗi thành một mảng dựa trên biểu thức chính quy.

Cách sử dụng:

php
$result = Str::of('one, two, three')->split('/, /');
// Kết quả: Collection chứa "one", "two", "three"

Kết luận

Trong phần 2 này, chúng ta đã tìm hiểu về một loạt các hàm Fluent Strings nâng cao trong Laravel, từ việc kiểm tra chuỗi (isUrl, isUuid) đến việc thay thế chuỗi (replace, replaceFirst, replaceLast). Các hàm này giúp chúng ta thao tác với chuỗi một cách dễ dàng và linh hoạt hơn trong quá trình phát triển ứng dụng.

Trong phần tiếp theo, chúng ta sẽ tiếp tục khám phá những hàm Fluent Strings còn lại và cách ứng dụng chúng vào các tình huống thực tế.

Mời bạn xem tiếp: Fluent Strings trong Laravel – Phần 3