PHP cung cấp rất nhiều hàm tích hợp sẵn để xử lý chuỗi, giúp thao tác với dữ liệu văn bản một cách dễ dàng và hiệu quả. Dưới đây là một danh sách chi tiết các hàm xử lý chuỗi phổ biến trong PHP, kèm theo ví dụ minh họa và giải thích chi tiết.

1. strlen() – Độ dài chuỗi

Hàm này trả về số lượng ký tự trong một chuỗi, bao gồm cả khoảng trắng.

$str = "Hello, world!";
echo strlen($str);  // Kết quả: 13

2. strtoupper() – Chuyển chuỗi thành chữ hoa

Chuyển tất cả các ký tự trong chuỗi thành chữ hoa.

$str = "hello, world!";
echo strtoupper($str);  // Kết quả: HELLO, WORLD!

3. strtolower() – Chuyển chuỗi thành chữ thường

Chuyển tất cả các ký tự trong chuỗi thành chữ thường.

$str = "HELLO, WORLD!";
echo strtolower($str);  // Kết quả: hello, world!

4. ucfirst() – Viết hoa chữ cái đầu tiên

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

$str = "hello, world!";
echo ucfirst($str);  // Kết quả: Hello, world!

5. lcfirst() – Viết thường chữ cái đầu tiên

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

$str = "Hello, World!";
echo lcfirst($str);  // Kết quả: hello, World!

6. ucwords() – Viết hoa chữ cái đầu mỗi từ

Chuyển chữ cái đầu tiên của mỗi từ trong chuỗi thành chữ hoa.

$str = "hello, world!";
echo ucwords($str);  // Kết quả: Hello, World!

7. trim() – Loại bỏ khoảng trắng

Loại bỏ các ký tự khoảng trắng (hoặc các ký tự tùy chọn) từ đầu và cuối chuỗi.

$str = "  Hello, World!  ";
echo trim($str);  // Kết quả: "Hello, World!"

8. ltrim() – Loại bỏ khoảng trắng bên trái

Loại bỏ khoảng trắng từ đầu chuỗi.

$str = "  Hello, World!  ";
echo ltrim($str);  // Kết quả: "Hello, World!  "

9. rtrim() – Loại bỏ khoảng trắng bên phải

Loại bỏ khoảng trắng từ cuối chuỗi.

$str = "  Hello, World!  ";
echo rtrim($str);  // Kết quả: "  Hello, World!"

10. substr() – Lấy một phần của chuỗi

Trích xuất một phần của chuỗi từ vị trí bắt đầu và số lượng ký tự cần lấy.

$str = "Hello, world!";
echo substr($str, 7, 5);  // Kết quả: world

11. strpos() – Tìm vị trí của chuỗi con

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

$str = "Hello, world!";
echo strpos($str, "world");  // Kết quả: 7

12. strrpos() – Tìm vị trí của chuỗi con cuối cùng

Tìm vị trí xuất hiện cuối cùng của một chuỗi con trong chuỗi mẹ.

$str = "Hello, world! world!";
echo strrpos($str, "world");  // Kết quả: 13

13. str_replace() – Thay thế chuỗi con

Thay thế tất cả các lần xuất hiện của một chuỗi con trong chuỗi mẹ bằng chuỗi mới.

$str = "Hello, world!";
echo str_replace("world", "PHP", $str);  // Kết quả: Hello, PHP!

14. str_repeat() – Lặp lại chuỗi

Lặp lại chuỗi một số lần cụ thể.

$str = "Hello!";
echo str_repeat($str, 3);  // Kết quả: Hello!Hello!Hello!

15. explode() – Tách chuỗi thành mảng

Tách chuỗi thành một mảng dựa trên một ký tự phân cách.

$str = "apple,banana,orange";
$array = explode(",", $str);
print_r($array);  
// Kết quả: Array ( [0] => apple [1] => banana [2] => orange )

16. implode() – Nối mảng thành chuỗi

Nối các phần tử của một mảng thành một chuỗi, sử dụng một ký tự phân cách.

$array = ["apple", "banana", "orange"];
$str = implode(", ", $array);
echo $str;  // Kết quả: apple, banana, orange

17. strrev() – Đảo ngược chuỗi

Đảo ngược thứ tự các ký tự trong chuỗi.

$str = "Hello, world!";
echo strrev($str);  // Kết quả: !dlrow ,olleH

18. strcmp() – So sánh chuỗi

So sánh hai chuỗi. Trả về 0 nếu hai chuỗi bằng nhau, trả về giá trị âm nếu chuỗi đầu nhỏ hơn chuỗi thứ hai, và ngược lại.

echo strcmp("Hello", "Hello");  // Kết quả: 0
echo strcmp("Hello", "hello");  // Kết quả: -1

19. strcasecmp() – So sánh chuỗi không phân biệt chữ hoa chữ thường

So sánh hai chuỗi nhưng không phân biệt chữ hoa hay chữ thường.

echo strcasecmp("Hello", "hello");  // Kết quả: 0

20. number_format() – Định dạng số dưới dạng chuỗi

Chuyển một số thành chuỗi với định dạng có dấu phẩy.

$number = 12345.6789;
echo number_format($number, 2);  // Kết quả: 12,345.68

21. htmlspecialchars() – Mã hóa các ký tự HTML đặc biệt

Chuyển các ký tự đặc biệt như <, > thành các mã HTML an toàn để hiển thị trên trình duyệt.

$str = "Hello, World!";
echo htmlspecialchars($str);  // Kết quả: <h1>Hello, World!</h1>

22. addslashes() – Thêm dấu gạch chéo vào chuỗi

Thêm ký tự gạch chéo () trước các ký tự đặc biệt như dấu nháy đơn ('), dấu nháy kép ("), dấu gạch chéo (), và NULL.

$str = "John's book";
echo addslashes($str);  // Kết quả: John's book

23. strtok() – Tách chuỗi theo từng token

Tách chuỗi thành từng phần nhỏ dựa trên ký tự phân cách, xử lý từng phần một.

$str = "apple,banana,orange";
$token = strtok($str, ",");
while ($token !== false) {
    echo $token . "n";
    $token = strtok(",");
}
// Kết quả: 
// apple
// banana
// orange

24. substr_count() – Đếm số lần xuất hiện của chuỗi con

Hàm này trả về số lần xuất hiện của một chuỗi con trong chuỗi mẹ.

$str = "Hello, world! Hello again!";
echo substr_count($str, "Hello");  // Kết quả: 2

25. nl2br() – Chuyển đổi ký tự xuống dòng thành thẻ <br>

Hàm này chuyển đổi tất cả các ký tự xuống dòng (n) trong chuỗi thành thẻ HTML <br> để hiển thị đúng định dạng xuống dòng trên trình duyệt.

$str = "Hello,nWorld!";
echo nl2br($str);  
// Kết quả: Hello,World!

26. wordwrap() – Ngắt dòng trong chuỗi ở độ dài cụ thể

Hàm này ngắt chuỗi thành các dòng có độ dài tối đa được chỉ định.

$str = "This is a very long string that needs to be wrapped.";
echo wordwrap($str, 15, "n");  
// Kết quả:
// This is a very
// long string
// that needs to
// be wrapped.

27. parse_str() – Phân tích chuỗi truy vấn URL thành các biến

Phân tích một chuỗi truy vấn URL và chuyển nó thành các biến.

$query = "name=John&age=25&city=NewYork";
parse_str($query, $output);
print_r($output);  
// Kết quả:
// Array ( [name] => John [age] => 25 [city] => NewYork )

28. json_encode() – Chuyển đổi mảng hoặc đối tượng thành chuỗi JSON

Hàm này chuyển đổi một mảng hoặc đối tượng PHP thành chuỗi JSON.

$array = ["name" => "John", "age" => 25, "city" => "NewYork"];
echo json_encode($array);  
// Kết quả: {"name":"John","age":25,"city":"NewYork"}

29. json_decode() – Phân tích chuỗi JSON thành mảng hoặc đối tượng

Hàm này chuyển một chuỗi JSON thành mảng hoặc đối tượng PHP.

$json = '{"name":"John","age":25,"city":"NewYork"}';
$array = json_decode($json, true);
print_r($array);  
// Kết quả:
// Array ( [name] => John [age] => 25 [city] => NewYork )

30. str_shuffle() – Trộn lẫn các ký tự trong chuỗi

Hàm này trộn lẫn ngẫu nhiên các ký tự trong một chuỗi.

$str = "abcdef";
echo str_shuffle($str);  
// Kết quả có thể là: "fdecba" hoặc bất kỳ thứ tự nào ngẫu nhiên khác

31. str_pad() – Lấp đầy chuỗi với ký tự cụ thể

Hàm này thêm các ký tự vào đầu hoặc cuối chuỗi để đảm bảo chuỗi đạt được một độ dài nhất định.

$str = "Hello";
echo str_pad($str, 10, "-");  
// Kết quả: Hello-----

32. str_split() – Tách chuỗi thành mảng các ký tự

Hàm này tách chuỗi thành một mảng chứa các ký tự hoặc chuỗi con có độ dài cố định.

$str = "Hello";
print_r(str_split($str));  
// Kết quả: Array ( [0] => H [1] => e [2] => l [3] => l [4] => o )

Bạn cũng có thể chỉ định độ dài của mỗi phần tử trong mảng.

print_r(str_split($str, 2));  
// Kết quả: Array ( [0] => He [1] => ll [2] => o )

33. similar_text() – Tính toán mức độ giống nhau giữa hai chuỗi

Hàm này so sánh hai chuỗi và trả về số lượng ký tự giống nhau giữa chúng. Bạn cũng có thể nhận được phần trăm độ giống nhau.

$str1 = "Hello, World!";
$str2 = "Hello, PHP!";
echo similar_text($str1, $str2);  // Kết quả: 9
// Để nhận phần trăm giống nhau
similar_text($str1, $str2, $percent);
echo $percent;  // Kết quả: 66.6667

34. str_ireplace() – Thay thế chuỗi con (không phân biệt chữ hoa, chữ thường)

Tương tự như str_replace(), nhưng không phân biệt chữ hoa hay chữ thường.

$str = "Hello, WORLD!";
echo str_ireplace("world", "PHP", $str);  // Kết quả: Hello, PHP!

35. addcslashes() – Thêm dấu gạch chéo trước một loạt ký tự cụ thể

Hàm này thêm dấu gạch chéo () trước các ký tự đã chỉ định trong chuỗi.

$str = "Hello, World!";
echo addcslashes($str, 'A..Z');  // Kết quả: Hello, World!

36. strpbrk() – Tìm kiếm chuỗi với bất kỳ ký tự nào từ danh sách

Hàm này tìm kiếm chuỗi và trả về phần còn lại của chuỗi từ vị trí đầu tiên xuất hiện bất kỳ ký tự nào trong danh sách.

$str = "Hello, World!";
echo strpbrk($str, "oW");  // Kết quả: o, World!

37. strtr() – Thay thế ký tự hoặc chuỗi con

Hàm này thay thế các ký tự trong chuỗi với các ký tự hoặc chuỗi khác.

$str = "Hello, World!";
echo strtr($str, "eo", "ia");  // Kết quả: Hilla, Warld!

Bạn cũng có thể dùng một mảng để thay thế các chuỗi con cụ thể:

$str = "Hello, World!";
$replace_pairs = array("Hello" => "Hi", "World" => "PHP");
echo strtr($str, $replace_pairs);  // Kết quả: Hi, PHP!

38. word_count() – Đếm số lượng từ trong chuỗi

Hàm này trả về số lượng từ trong một chuỗi.

$str = "Hello, World!";
echo str_word_count($str);  // Kết quả: 2

39. metaphone() – Thuật toán phiên âm

Hàm này chuyển một chuỗi thành dạng phiên âm, giúp so sánh chuỗi dựa trên cách phát âm.

$str = "World";
echo metaphone($str);  // Kết quả: WRLT

40. md5() – Mã hóa chuỗi bằng thuật toán MD5

Hàm này mã hóa một chuỗi bằng cách sử dụng thuật toán MD5 và trả về chuỗi đã được mã hóa.

$str = "Hello, World!";
echo md5($str);  // Kết quả: fc3ff98e8c6a0d3087d515c0473f8677

41. sha1() – Mã hóa chuỗi bằng thuật toán SHA-1

Hàm này mã hóa một chuỗi bằng thuật toán SHA-1 và trả về chuỗi đã mã hóa.

$str = "Hello, World!";
echo sha1($str);  // Kết quả: 2ef7bde608ce5404e97d5f042f95f89f1c232871


Tóm lại là:

PHP cung cấp rất nhiều hàm mạnh mẽ và đa dạng để thao tác với chuỗi, từ các thao tác cơ bản như cắt, nối chuỗi, đến các hàm phức tạp hơn như mã hóa HTML, định dạng chuỗi. Những hàm này giúp việc xử lý và thao tác dữ liệu chuỗi trong các ứng dụng web dễ dàng và linh hoạt hơn.