Hướng dẫn dùng replace regex trong PHP

Cú pháp hàm preg_replace[]

Hàm preg_replace sử dụng RegExp [xem cách viết biểu thức chính quy RegExp] để tìm kiếm và thay thế chuỗi.

preg_replace[$pattern, $replacement,$subject]

Hàm này tìm trong $subject các chuỗi con phù hợp với mẫu $pattern là một biểu thức RegExp, thay thế chuỗi tìm thấy bởi $replacement

  • $pattern : Biểu thức RegExp để tìm kiếm có thể là một chuỗi hoặc một mảng.
  • $subject : Chuỗi nhập vào để tìm kiếm
  • $replacement : Giá trị thay thế, có thể là chuỗi hoặc mảng. Nếu $pattern là mảng $replacement là chuỗi thì mọi kết quả tìm kiểm theo $pattern được thay thể bởi $replacement. Nếu cả $pattern, $replacement là mảng thì nó thay thế theo phần tử tương ứng.

$replacement đặc biệt có thể được biểu diễn một cách đặc biệt, nó có thể chứa các tham chiếu dùng để chèn nội dung, tham chiếu có dạng $n với n = 0 - 99. Với $0 tương ứng với sự phù hợp với toàn bộ $pattern, $1, $2 ... tương ứng với mẫu con theo thứ tự trong $pattern [Xem ví dụ 2]

Hàm preg_replace trả về chuỗi hoặc mảng các chuỗi để tìm kiếm và thay thế.

Ví dụ 1 về preg_replace

Dùng biểu thức chính quy và hàm preg_replace tìm các cụm số thay thế bằng 2000


//OUT:
Ví dụ về hàm preg_replace 2000 2000

Ví dụ 2 $replacement đặc biệt

Ví dụ sau, cho chuỗi có nội dung: 'Tháng ... Năm ....' đảo thành 'Năm ..., Tháng ...'


//OUT:Năm 2017, Tháng 12

Với ví dụ trên về $pattern cờ ui cho biết không phân biệt chữ hoa, chữ thường và dùng chuỗi Unicode. Với mẫu này trong nó có các $pattern con là [\w+] tương ứng với $1, [\d+] tương ứng với $2 ...Và $replacement sử dụng các chỉ số này để tạo chuỗi thay thế.

Ví dụ 3 dùng preg_replace với mảng xử lý BBCODE

Ví dụ sau sẽ chuyển các mã bbcode: b, i, u, img, url thành mã HTML thông thường.

Chủ Đề