Hướng dẫn php replace regex - php thay thế regex

Cú pháp hàm preg_replace()

Hàm


//OUT:
Ví dụ về hàm preg_replace 2000 2000
0 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.

Nội dung chính ShowShow

  • Cú pháp hàm preg_replace()
  • Ví dụ 1 về preg_replace
  • Ví dụ 2 $replacement đặc biệt
  • Ví dụ 3 dùng preg_replace với mảng xử lý BBCODE
  • 1. Hàm preg_replace trong PHP
  • 2. Ví dụ hàm preg_relace trong PHP
  • 3. Lời kết

preg_replace($pattern, $replacement,$subject)

Hàm này tìm trong


//OUT:
Ví dụ về hàm preg_replace 2000 2000
1 các chuỗi con phù hợp với mẫu

//OUT:
Ví dụ về hàm preg_replace 2000 2000
2 là một biểu thức RegExp, thay thế chuỗi tìm thấy bởi

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

  • 
    //OUT:
    Ví dụ về hàm preg_replace 2000 2000
    2 : Biểu thức
    
    //OUT:
    Ví dụ về hàm preg_replace 2000 2000
    5 để tìm kiếm có thể là một chuỗi hoặc một mảng.
  • 
    //OUT:
    Ví dụ về hàm preg_replace 2000 2000
    1 : Chuỗi nhập vào để tìm kiếm
  • 
    //OUT:
    Ví dụ về hàm preg_replace 2000 2000
    3 : 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


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

//OUT:
Ví dụ về hàm preg_replace 2000 2000
9. Với

//OUT:Năm 2017, Tháng 12
0 tương ứng với sự phù hợp với toàn bộ

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

//OUT:Năm 2017, Tháng 12
2 tương ứng với mẫu con theo thứ tự trong

//OUT:
Ví dụ về hàm preg_replace 2000 2000
2 (Xem ví dụ 2)
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

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

//OUT:
Ví dụ về hàm preg_replace 2000 2000
9. Với

//OUT:Năm 2017, Tháng 12
0 tương ứng với sự phù hợp với toàn bộ

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

//OUT:Năm 2017, Tháng 12
2 tương ứng với mẫu con theo thứ tự trong

//OUT:
Ví dụ về hàm preg_replace 2000 2000
2 (Xem ví dụ 2)

Hàm


//OUT:
Ví dụ về hàm preg_replace 2000 2000
0 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

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


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

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

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


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

1. Hàm preg_replace trong PHP

2. Ví dụ hàm preg_relace trong PHP

3. Lời kết

$1',
        '$1',
        '$1',
        '',
        '$1',
        '$2'
    );

    $str = preg_replace ($search, $replace, $str);
    return $str;
}
//Test
$bbcdoe = '[url=https://xuanthulab.net][b]xuanthulab.net[/b][/url]';
echo bbcode2Html($bbcdoe);
//OUT HTML: xuanthulab.net

Hàm này tìm trong


//OUT:
Ví dụ về hàm preg_replace 2000 2000
1 các chuỗi con phù hợp với mẫu

//OUT:
Ví dụ về hàm preg_replace 2000 2000
2 là một biểu thức RegExp, thay thế chuỗi tìm thấy bởi

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

Hướng dẫn php replace regex - php thay thế regex


//OUT:
Ví dụ về hàm preg_replace 2000 2000
2 : Biểu thức

//OUT:
Ví dụ về hàm preg_replace 2000 2000
5 để tìm kiếm có thể là một chuỗi hoặc một mảng.freetuts.net, không được copy dưới mọi hình thức.

1. Hàm preg_replace trong PHP

2. Ví dụ hàm preg_relace trong PHPstr_replace nhưng có sự khác biệt là một bên dùng regex một bên không dùng.

3. Lời kết:

$1',
        '$1',
        '$1',
        '',
        '$1',
        '$2'
    );

    $str = preg_replace ($search, $replace, $str);
    return $str;
}
//Test
$bbcdoe = '[url=https://xuanthulab.net][b]xuanthulab.net[/b][/url]';
echo bbcode2Html($bbcdoe);
//OUT HTML: xuanthulab.net

8

Hàm này tìm trong


//OUT:
Ví dụ về hàm preg_replace 2000 2000
1 các chuỗi con phù hợp với mẫu

//OUT:
Ví dụ về hàm preg_replace 2000 2000
2 là một biểu thức RegExp, thay thế chuỗi tìm thấy bởi

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


//OUT:
Ví dụ về hàm preg_replace 2000 2000
2 : Biểu thức

//OUT:
Ví dụ về hàm preg_replace 2000 2000
5 để tìm kiếm có thể là một chuỗi hoặc một mảng.

  • 
    //OUT:
    Ví dụ về hàm preg_replace 2000 2000
    1 : Chuỗi nhập vào để tìm kiếm
  • 
    //OUT:
    Ví dụ về hàm preg_replace 2000 2000
    3 : 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
    
    //OUT:
    Ví dụ về hàm preg_replace 2000 2000
    8 với
    
    //OUT:
    Ví dụ về hàm preg_replace 2000 2000
    9. Với
    
    //OUT:Năm 2017, Tháng 12
    
    0 tương ứng với sự phù hợp với toàn bộ
    
    //OUT:
    Ví dụ về hàm preg_replace 2000 2000
    2,
    
    //OUT:Năm 2017, Tháng 12
    
    2 tương ứng với mẫu con theo thứ tự trong
    
    //OUT:
    Ví dụ về hàm preg_replace 2000 2000
    2 (Xem ví dụ 2)

Hàm


//OUT:
Ví dụ về hàm preg_replace 2000 2000
0 trả về chuỗi hoặc mảng các chuỗi để tìm kiếm và thay thế.

2. Ví dụ hàm preg_relace trong PHP

3. Lời kết: Replace chuỗi

$partern = '/hi/';
$subject = 'hi everybody, hi there';
$replacement = 'hello';
echo preg_replace($partern, $replacement, $subject);
2 thành chuỗi
$partern = '/hi/';
$subject = 'hi everybody, hi there';
$replacement = 'hello';
echo preg_replace($partern, $replacement, $subject);
3 trong chuỗi
$partern = '/hi/';
$subject = 'hi everybody, hi there';
$replacement = 'hello';
echo preg_replace($partern, $replacement, $subject);
4

$partern = '/hi/';
$subject = 'hi everybody, hi there';
$replacement = 'hello';
echo preg_replace($partern, $replacement, $subject);

Hàm này tìm trong


//OUT:
Ví dụ về hàm preg_replace 2000 2000
1 các chuỗi con phù hợp với mẫu

//OUT:
Ví dụ về hàm preg_replace 2000 2000
2 là một biểu thức RegExp, thay thế chuỗi tìm thấy bởi

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


//OUT:
Ví dụ về hàm preg_replace 2000 2000
2 : Biểu thức

//OUT:
Ví dụ về hàm preg_replace 2000 2000
5 để tìm kiếm có thể là một chuỗi hoặc một mảng.
: Xóa thẻ h2 trong chuỗi
$partern = '/hi/';
$subject = 'hi everybody, hi there';
$replacement = 'hello';
echo preg_replace($partern, $replacement, $subject);
6


//OUT:
Ví dụ về hàm preg_replace 2000 2000
1 : Chuỗi nhập vào để tìm kiếm


//OUT:
Ví dụ về hàm preg_replace 2000 2000
3 : 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.: Dùng toán tử OR trong Regular Expression, tức là sẽ kiểm tra nếu là thẻ đóng hoặc thẻ mở thì sẽ bị replace thành ký tự trống. Chuỗi regex sẽ như sau
$partern = '/(

)|(<\/h2>)/'; $subject = '

Welcome to freetuts.net

'; $replacement = ''; echo preg_replace($partern, $replacement, $subject);
1. Tôi đã dùng dấu mở và đóng
$partern = '/(

)|(<\/h2>)/'; $subject = '

Welcome to freetuts.net

'; $replacement = ''; echo preg_replace($partern, $replacement, $subject);
2 để gộp 2 nhóm thẻ mở và thẻ đóng lại, luôn luôn làm như vậy nha các bạn.

$partern = '/(

)|(<\/h2>)/'; $subject = '

Welcome to freetuts.net

'; $replacement = ''; echo preg_replace($partern, $replacement, $subject);

$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


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

//OUT:
Ví dụ về hàm preg_replace 2000 2000
9. Với

//OUT:Năm 2017, Tháng 12
0 tương ứng với sự phù hợp với toàn bộ

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

//OUT:Năm 2017, Tháng 12
2 tương ứng với mẫu con theo thứ tự trong

//OUT:
Ví dụ về hàm preg_replace 2000 2000
2 (Xem ví dụ 2)

Hàm


//OUT:
Ví dụ về hàm preg_replace 2000 2000
0 trả về chuỗi hoặc mảng các chuỗi để tìm kiếm và thay thế.: Dùng toán tử kiểm tra có hoặc không đó là dấu
$partern = '/(

)|(<\/h2>)/'; $subject = '

Welcome to freetuts.net

'; $replacement = ''; echo preg_replace($partern, $replacement, $subject);
3. Bạn quay lại bài trước để xem các ví dụ và cách dùng dấu này nhé.

Dùng biểu thức chính quy và hàm preg_replace tìm các


//OUT:Năm 2017, Tháng 12
5 thay thế bằng

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

$partern = '/(<\/?h2>)/';
$subject = '

Welcome to freetuts.net

'; $replacement = ''; echo preg_replace($partern, $replacement, $subject);

Ví dụ sau, cho chuỗi có nội dung:


//OUT:Năm 2017, Tháng 12
7 đảo thành

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

Với ví dụ trên về


//OUT:
Ví dụ về hàm preg_replace 2000 2000
2 cờ
$1',
'$1',
'$1',
'',
'$1',
'$2'
);
$str = preg_replace ($search, $replace, $str);
return $str;
}
//Test
$bbcdoe = '[url=https://xuanthulab.net][b]xuanthulab.net[/b][/url]';
echo bbcode2Html($bbcdoe);
//OUT HTML: xuanthulab.net
0 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

//OUT:
Ví dụ về hàm preg_replace 2000 2000
2 con là
$1',
        '$1',
        '$1',
        '',
        '$1',
        '$2'
    );

    $str = preg_replace ($search, $replace, $str);
    return $str;
}
//Test
$bbcdoe = '[url=https://xuanthulab.net][b]xuanthulab.net[/b][/url]';
echo bbcode2Html($bbcdoe);
//OUT HTML: xuanthulab.net

2 tương ứng với
$1',
        '$1',
        '$1',
        '',
        '$1',
        '$2'
    );

    $str = preg_replace ($search, $replace, $str);
    return $str;
}
//Test
$bbcdoe = '[url=https://xuanthulab.net][b]xuanthulab.net[/b][/url]';
echo bbcode2Html($bbcdoe);
//OUT HTML: xuanthulab.net

3,
$1',
        '$1',
        '$1',
        '',
        '$1',
        '$2'
    );

    $str = preg_replace ($search, $replace, $str);
    return $str;
}
//Test
$bbcdoe = '[url=https://xuanthulab.net][b]xuanthulab.net[/b][/url]';
echo bbcode2Html($bbcdoe);
//OUT HTML: xuanthulab.net

4 tương ứng với
$1',
        '$1',
        '$1',
        '',
        '$1',
        '$2'
    );

    $str = preg_replace ($search, $replace, $str);
    return $str;
}
//Test
$bbcdoe = '[url=https://xuanthulab.net][b]xuanthulab.net[/b][/url]';
echo bbcode2Html($bbcdoe);
//OUT HTML: xuanthulab.net

5 ...Và

//OUT:
Ví dụ về hàm preg_replace 2000 2000
3 sử dụng các chỉ số này để tạo chuỗi thay thế. : Dùng Regular Expression xóa tất cả những thẻ html (h2, h2, h3, h4, h5) của một đoạn text

Ví dụ 3 dùng preg_replace với mảng xử lý BBCODE. Nhưng trong đề bài yêu cầu dùng Regular Expresision nên phải làm vậy thôi.

Ví dụ sau sẽ chuyển các mã bbcode:

$1',
        '$1',
        '$1',
        '',
        '$1',
        '$2'
    );

    $str = preg_replace ($search, $replace, $str);
    return $str;
}
//Test
$bbcdoe = '[url=https://xuanthulab.net][b]xuanthulab.net[/b][/url]';
echo bbcode2Html($bbcdoe);
//OUT HTML: xuanthulab.net

7 thành mã HTML thông thường.

$subject = '

This is h2

This is h2

This is h3

This is h4

This is h5
'; // H1 $subject = preg_replace('/<\/?h2>/', '', $subject); // H2 $subject = preg_replace('/<\/?h2>/', '', $subject); // H3 $subject = preg_replace('/<\/?h3>/', '', $subject); // H4 $subject = preg_replace('/<\/?h4>/', '', $subject); // H5 $subject = preg_replace('/<\/?h5>/', '', $subject); echo $subject;

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.

$subject = '

This is h2

This is h2

This is h3

This is h4

This is h5
'; echo preg_replace('/(<\/?h2>)|(<\/?h2>)|(<\/?h3>)|(<\/?h4>)|(<\/?h5>)/', '', $subject);

Rất gọn đúng không nào, các bạn tham khảo thêm một cách giải nữa:

$subject = '

This is h2

This is h2

This is h3

This is h4

This is h5
'; echo preg_replace('/<\/?h(1|2|3|4|5)>/', '', $subject);

Cách này tôi dùng toán tử OR cho các số

$partern = '/(<\/?h2>)/';
$subject = '

Welcome to freetuts.net

'; $replacement = ''; echo preg_replace($partern, $replacement, $subject);
5. Đây là cách gọn và tối ưu nhất đúng không nào.

3. Lời kết

Qua 3 ví dụ trên chắc hẳn bạn đã biết các sử dụng hàm preg_replace trong php kết hợp với Regular Expression rồi nhỉ. Có rất nhiều bài toán khác nhau và ứng dụng khác nhau nên không thể quy ra một công thức chung được, các bạn cố gắng nắm vững các biểu thức Regular Expression để kết hợp là ok.