⊗ppPmRgRP 253 of 447 menu

Các nhóm bắt (capture groups) trong thay thế bằng biểu thức chính quy trên PHP

Khi làm việc với hàm preg_replace, nếu chúng ta đặt gì đó vào một nhóm bắt trong biểu thức chính quy, thì trong chuỗi thay thế chúng ta có thể chèn nội dung của nhóm bắt đó bằng cách viết dấu đô la $ và số thứ tự của nhóm bắt. Ví dụ: $0 - nhóm bắt số 0, $1 - nhóm bắt thứ nhất, $2 - nhóm bắt thứ hai và cứ tiếp tục như vậy.

Hãy cùng xem xét các ví dụ để biết nó cần thiết cho việc gì và cách sử dụng nó như thế nào.

Ví dụ

Hãy tìm tất cả các số và thay chúng bằng chính các số đó, nhưng được đặt trong dấu ngoặc nhọn. Để làm điều này, chúng ta sẽ thay thế tất cả các số tìm được bằng chính chúng, nhưng trong dấu ngoặc nhọn:

<?php $str = '1 23 456 xax'; $res = preg_replace('#(\d+)#', '{$1}', $str); ?>

Kết quả, biến sẽ ghi lại giá trị sau:

'{1} {23} {456} xax'

Ví dụ

Hãy tìm tất cả các chuỗi, biểu diễn các số được bao quanh bởi chữ 'x' và thay thế các số đó bằng chính chúng, nhưng được bao quanh bởi dấu '!':

<?php $str = 'x1x x23x x456x xax'; $res = preg_replace('#x(\d+)x#', '!$1!', $str); ?>

Kết quả, biến sẽ ghi lại giá trị sau:

'!1! !23! !456! xax'

Ví dụ

Hãy giải quyết bài toán sau: cho các chuỗi dạng 'aaa@bbb' - các chữ cái, sau đó là dấu @, tiếp theo là các chữ cái. Cần hoán đổi vị trí các chữ cái trước '@' và sau. Hãy thực hiện:

<?php $str = 'aaa@bbb ccc@ddd'; $res = preg_replace('#([a-z]+)@([a-z]+)#', '$2@$1', $str); ?>

Kết quả, biến sẽ ghi lại giá trị sau:

'bbb@aaa ddd@ccc'

Bài tập thực hành

Cho chuỗi:

<?php $str = '12 34 56 78'; ?>

Hãy hoán đổi các chữ số trong tất cả các số có hai chữ số.

Cho một chuỗi chứa ngày tháng:

<?php $str = '31.12.2025'; ?>

Hãy chuyển đổi ngày tháng này thành dạng '2025.12.31'.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối