Kiến thức về hàm preg_replace trong PHP và ví dụ minh họa

  • Kiến thức về hàm preg_replace trong PHP và ví dụ minh họa

    • 26 October 2018
    • Tự học lập trình PHP

    Trong bài này chúng ta tìm hiểu một hàm khá giống với hàm str_replace đó là hàm preg_replace trong PHP. Hàm preg_replace () hoạt động giống như hàm POSIX ereg_replace (), ngoại trừ các biểu thức thông thường có thể được sử dụng trong các tham số đầu vào mẫu và thay thế.

    1. Định nghĩa và cách sử dụng preg_replace trong PHP

    Hàm preg_replace ( ) hoạt động giải trí giống như hàm POSIX ereg_replace ( ), ngoại trừ những biểu thức thường thì hoàn toàn có thể được sử dụng trong những tham số nguồn vào mẫu và thay thế sửa chữa .
    Giới hạn tham số đầu vào tùy chọn chỉ định số lượng hiệu quả tương thích sẽ diễn ra .
    Nếu thông số kỹ thuật tùy chọn USD count được truyền thì biến này sẽ được lấp đầy với số lần thay thế sửa chữa được thực thi .
    Giá trị trả lại :

    • Sau khi sửa chữa thay thế đã xảy ra, chuỗi đã sửa đổi sẽ được trả lại .
    • Nếu không tìm thấy hiệu quả tương thích, chuỗi sẽ không đổi khác .

    2. Cú pháp hàm preg_replace trong PHP

    preg_replace ( USD pattern, USD replacement, USD subject )
    Trong đó :

    • USD partern : là chuỗi Regular Expression
    • USD replacement : là chuỗi replace thành
    • USD subject : là string muốn duyệt và replace
    Giá trị trả lại : Trả về một chuỗi hoặc một mảng với những giá trị được thay thế sửa chữa
    Phiên bản PHP : 4 +
    Changelog : Các số tham số đã được bổ trợ trong PHP 5.0

    Trước khi PHP 4.3.3, công dụng này trải qua rắc rối khi sử dụng những mảng như cả hai tìm và sửa chữa thay thế những thông số kỹ thuật, khiến trống tìm thấy chỉ số được bỏ lỡ mà không thôi thúc con trỏ nội bộ về những thay mảng. Các phiên bản mới hơn sẽ không có yếu tố này .

    Kể từ PHP 4.0.5, hầu hết những tham số giờ đây hoàn toàn có thể là một mảng

    3. Chi tiết kỹ thuật

    Ví dụ hàm preg_relace trong PHP

    Ví dụ 1 : Sử dụng backreferences theo sau là chữ số

    USD string = ‘ April 15, 2003 ‘ ;
    USD pattern = ‘ / ( \ w + ) ( \ d + ), ( \ d + ) / i ‘ ;
    USD replacement = ‘ USD { 1 } 1, USD 3 ‘ ;
    echo preg_replace ( USD pattern, USD replacement, USD string ) ;
    ? >
    Ví dụ trên hiện ra màn hình hiển thị :

    Ví dụ 2 : Sử dụng những mảng được lập chỉ mục với preg_replace ( )

    USD string = ‘ The quick brown fox jumps over the lazy dog. ‘ ;
    USD patterns = array ( ) ;
    USD patterns [ 0 ] = ‘ / quick / ‘ ;
    USD patterns [ 1 ] = ‘ / brown / ‘ ;

    $patterns[2] = ‘/fox/’;

    USD replacements = array ( ) ;
    USD replacements [ 2 ] = ‘ bear ‘ ;
    USD replacements [ 1 ] = ‘ black ‘ ;
    USD replacements [ 0 ] = ‘ slow ‘ ;
    echo preg_replace ( USD patterns, USD replacements, USD string ) ;
    ? >
    Ví dụ trên hiện ra màn hình hiển thị :

    Bằng cách sắp xếp những mẫu và thay thế sửa chữa, tất cả chúng ta sẽ có được những gì tất cả chúng ta muốn .

    ksort ( USD patterns ) ;
    ksort ( USD replacements ) ;
    echo preg_replace ( USD patterns, USD replacements, USD string ) ;
    ? >
    Ví dụ trên sẽ biến hóa :

    Ví dụ 3 : Thay thế nhiều giá trị

    USD patterns = array ( ‘ / ( 19 | 20 ) ( \ d { 2 } ) – ( \ d { 1,2 } ) – ( \ d { 1,2 } ) / ‘ ,
    ‘ / ^ \ s * { ( \ w + ) } \ s * = / ‘ ) ;
    USD replace = array ( ‘ \ 3 / \ 4 / \ 1 \ 2 ‘, ‘ USD \ 1 = ‘ ) ;
    echo preg_replace ( USD patterns, USD replace, ‘ { startDate } = 1999 – 5-27 ‘ ) ;
    ? >
    Ví dụ trên sẽ hiển thị :

    Ví dụ 4 : Dải khoảng chừng trắng
    Ví dụ này vô hiệu khoảng trống thừa từ một chuỗi .

    USD str = ‘ foo o ‘ ;
    USD str = preg_replace ( ‘ / \ s \ s + / ‘, ‘ ‘, USD str ) ;
    / / This will be ‘ foo o ‘ now
    echo USD str ;
    ? >
    Ví dụ 5 : Sử dụng count tham số

    USD count = 0 ;
    echo preg_replace ( array ( ‘ / \ d / ‘, ‘ / \ s / ‘ ), ‘ * ‘, ‘ xp 4 to ‘, – 1, USD count ) ;
    echo USD count ; / / 3
    ? >

    Ví dụ trên hiển thị:

    Qua 5 ví dụ trên chắc rằng bạn đã biết những sử dụng hàm preg_replace trong php. Có rất nhiều bài toán khác nhau và ứng dụng khác nhau nên không hề quy ra một công thức chung được, những bạn cố gắng nỗ lực nắm vững những biểu thức Regular Expression để tích hợp. Chúc những bạn thành công xuất sắc !
    Một số tài liệu về PHP tương quan khác bạn nên xem :