Tổng hợp các hàm xử lý chuỗi PHP

Tổng Hợp Các Hàm Xử Lý Chuỗi PHP Thông Dụng

Khám phá tổng hợp các hàm xử lý chuỗi PHP thông dụng với ví dụ dễ hiểu. Tìm hiểu cách nối, cắt, thay thế, tìm kiếm, so sánh và xử lý chuỗi Unicode hiệu quả trong PHP, chi tiết như nào hãy cùng chúng tôi phân tích:

Chuỗi là một trong những kiểu dữ liệu được sử dụng nhiều nhất trong PHP. Từ xử lý dữ liệu người dùng nhập vào, tạo URL thân thiện, chuẩn hóa nội dung, cắt mô tả bài viết, kiểm tra email cho đến xây dựng hệ thống CMS, tất cả đều liên quan đến việc thao tác với chuỗi.

PHP cung cấp hàng trăm hàm xử lý chuỗi khác nhau. Tuy nhiên, không phải lập trình viên nào cũng cần sử dụng hết tất cả. Điều quan trọng là hiểu nhóm hàm nào dùng trong trường hợp nào, biết ưu điểm của từng hàm và tránh các lỗi thường gặp khi làm việc với dữ liệu tiếng Việt hoặc Unicode.

Bài viết dưới đây tổng hợp những hàm xử lý chuỗi được sử dụng phổ biến nhất trong PHP, đi kèm ví dụ thực tế giúp bạn dễ áp dụng trong quá trình lập trình website.

Tổng hợp các hàm xử lý chuỗi PHP

Chuỗi trong PHP là gì?

Chuỗi (String) là tập hợp các ký tự được đặt trong dấu nháy đơn hoặc dấu nháy kép. Một chuỗi có thể chứa chữ cái, số, khoảng trắng, ký tự đặc biệt hoặc dữ liệu Unicode.

<?php
$text = "Xin chào Web Mới";
echo $text;
?>

Hầu hết dữ liệu nhận từ biểu mẫu (Form), URL, Cookie, Session hay cơ sở dữ liệu đều được xử lý dưới dạng chuỗi.

Nhóm hàm lấy thông tin chuỗi

strlen() - Đếm số ký tự

Hàm strlen() trả về độ dài của chuỗi.

<?php
$text = "Hello PHP";
echo strlen($text);
?>

Kết quả:

9

Lưu ý: Hàm này đếm theo byte. Nếu làm việc với tiếng Việt có dấu nên sử dụng các hàm trong phần mở rộng mbstring.

str_word_count() - Đếm số từ

Dùng để đếm số từ trong chuỗi tiếng Anh.

<?php
$text = "Learning PHP is fun";
echo str_word_count($text);
?>

Đối với tiếng Việt, kết quả thường không chính xác vì khoảng trắng và ký tự Unicode.

Nhóm hàm thay đổi chữ hoa, chữ thường

strtolower()

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

<?php
echo strtolower("HELLO PHP");
?>

Kết quả:

hello php

strtoupper()

Chuyển toàn bộ chuỗi thành chữ in hoa.

<?php
echo strtoupper("hello php");
?>

ucfirst()

Viết hoa ký tự đầu tiên.

<?php
echo ucfirst("php cơ bản");
?>

ucwords()

Viết hoa chữ cái đầu của mỗi từ.

<?php
echo ucwords("học lập trình php");
?>

Nhóm hàm nối chuỗi

Trong PHP, cách phổ biến nhất để nối chuỗi là dùng toán tử dấu chấm.

<?php
$first = "Web";
$last = "Mới";

echo $first . " " . $last;
?>

Ngoài ra còn có toán tử .=.

<?php
$text = "PHP";
$text .= " Tutorial";

echo $text;
?>

Nhóm hàm tìm kiếm trong chuỗi

strpos()

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

<?php
$text = "Học PHP tại Web Mới";

echo strpos($text, "PHP");
?>

Nếu không tìm thấy sẽ trả về false.

strrpos()

Tìm vị trí xuất hiện cuối cùng.

<?php
$text = "PHP Java PHP";

echo strrpos($text, "PHP");
?>

stripos()

Tìm kiếm không phân biệt chữ hoa và chữ thường.

<?php
echo stripos("Hello PHP", "php");
?>

Nhóm hàm thay thế chuỗi

str_replace()

Đây là một trong những hàm được sử dụng nhiều nhất.

<?php
$text = "Tôi học Java";

echo str_replace("Java", "PHP", $text);
?>

Kết quả:

Tôi học PHP

str_ireplace()

Hoạt động tương tự nhưng không phân biệt chữ hoa, chữ thường.

<?php
echo str_ireplace("php", "Laravel", "PHP cơ bản");
?>

Nhóm hàm cắt chuỗi

substr()

Cắt một phần của chuỗi.

<?php
$text = "Lập trình PHP";

echo substr($text, 0, 9);
?>

substr_replace()

Thay thế một đoạn trong chuỗi.

<?php
echo substr_replace("Hello World", "PHP", 6, 5);
?>

Nhóm hàm loại bỏ khoảng trắng

trim()

Xóa khoảng trắng ở đầu và cuối chuỗi.

<?php
$text = "   PHP   ";

echo trim($text);
?>

ltrim()

Xóa khoảng trắng bên trái.

rtrim()

Xóa khoảng trắng bên phải.

Nhóm hàm tách và ghép chuỗi

explode()

Chuyển chuỗi thành mảng.

<?php
$list = "PHP,HTML,CSS";

print_r(explode(",", $list));
?>

implode()

Ghép các phần tử trong mảng thành chuỗi.

<?php
$data = array("PHP","HTML","CSS");

echo implode(" - ", $data);
?>

Nhóm hàm so sánh chuỗi

strcmp()

So sánh hai chuỗi có phân biệt chữ hoa và chữ thường.

<?php
echo strcmp("PHP", "PHP");
?>

strcasecmp()

So sánh nhưng không phân biệt chữ hoa và chữ thường.

<?php
echo strcasecmp("php", "PHP");
?>

Nhóm hàm mã hóa và chuyển đổi dữ liệu

htmlspecialchars()

Đây là hàm rất quan trọng giúp chống XSS khi hiển thị dữ liệu người dùng nhập.

<?php
echo htmlspecialchars("<script>alert('Hello')</script>");
?>

htmlentities()

Chuyển nhiều ký tự HTML thành Entity.

nl2br()

Chuyển ký tự xuống dòng thành thẻ br.

<?php
$text = "Dòng 1

Dòng 2";

echo nl2br($text);
?>

Nhóm hàm lặp chuỗi và đảo chuỗi

str_repeat()

<?php
echo str_repeat("*", 20);
?>

strrev()

<?php
echo strrev("PHP");
?>

Nhóm hàm định dạng chuỗi

printf()

Hiển thị chuỗi theo định dạng.

<?php
$name = "Web Mới";

printf("Xin chào %s", $name);
?>

sprintf()

Tương tự printf() nhưng trả về chuỗi thay vì hiển thị trực tiếp.

<?php
$text = sprintf("Giá: %d VNĐ", 500000);

echo $text;
?>

Các hàm mb_* nên sử dụng với tiếng Việt

Khi website sử dụng UTF-8, các hàm thông thường như strlen(), substr() hay strtoupper() có thể hoạt động không chính xác với tiếng Việt có dấu. Lúc này nên sử dụng nhóm hàm mbstring.

Hàm thông thường Phiên bản Unicode
strlen() mb_strlen()
substr() mb_substr()
strtoupper() mb_strtoupper()
strtolower() mb_strtolower()
strpos() mb_strpos()

Nếu website hướng tới người dùng Việt Nam thì việc ưu tiên sử dụng các hàm mb_* sẽ giúp tránh lỗi cắt chữ hoặc hiển thị sai ký tự.

Những lỗi thường gặp khi xử lý chuỗi

  • Nhầm giữa byte và số ký tự khi sử dụng strlen().
  • Không kiểm tra giá trị false của strpos(), dẫn đến điều kiện sai.
  • Dùng substr() để cắt tiếng Việt làm vỡ ký tự Unicode.
  • Hiển thị dữ liệu người dùng mà không sử dụng htmlspecialchars().
  • So sánh chuỗi bằng == trong khi cần phân biệt chữ hoa và chữ thường.
  • Không loại bỏ khoảng trắng trước khi lưu dữ liệu.

Kinh nghiệm lựa chọn hàm phù hợp

  • Dùng trim() trước khi lưu dữ liệu vào cơ sở dữ liệu.
  • Dùng htmlspecialchars() khi hiển thị dữ liệu nhập từ người dùng.
  • Dùng explode() và implode() để chuyển đổi giữa chuỗi và mảng.
  • Dùng str_replace() để thay thế nội dung đơn giản.
  • Dùng mb_* khi xử lý tiếng Việt hoặc dữ liệu Unicode.
  • Dùng sprintf() khi cần tạo chuỗi theo mẫu cố định.

Tổng kết

Các hàm xử lý chuỗi trong PHP là nền tảng của hầu hết ứng dụng web, từ website giới thiệu doanh nghiệp đến hệ thống quản trị nội dung hay thương mại điện tử. Việc nắm vững từng nhóm hàm giúp mã nguồn ngắn gọn, dễ bảo trì và xử lý dữ liệu chính xác hơn.

Thay vì cố ghi nhớ toàn bộ thư viện của PHP, bạn nên hiểu rõ mục đích của từng nhóm hàm như tìm kiếm, thay thế, cắt chuỗi, định dạng, chuyển đổi, so sánh và xử lý Unicode. Khi kết hợp đúng các hàm này, việc xây dựng ứng dụng sẽ trở nên nhanh chóng, ổn định và hạn chế được nhiều lỗi thường gặp trong quá trình phát triển website.

  • 0 Bình luận
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Chia sẻ nội dung đánh giá của bạn về Tổng hợp các hàm xử lý chuỗi PHP
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Đăng ký tư vấn thiết kế website
Tìm hiểu 1 năm không bằng lắng nghe 1 câu tư vấn