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.