Hướng dẫn preg_replace php - preg_replace php

(Php 4, Php 5, Php 7, Php 8)

preg_replace - thực hiện tìm kiếm biểu thức thông thường và thay thếPerform a regular expression search and replace

Sự mô tả

preg_replace (& nbsp; & nbsp; & nbsp; & nbsp; chuỗi | mảng ________ 2, & nbsp; & nbsp; & nbsp; $limit = -1, & nbsp; & nbsp; & nbsp; & nbsp; int &$count = null): chuỗi | mảng | null(
    string|array $pattern,
    string|array $replacement,
    string|array $subject,
    int $limit = -1,
    int &$count = null
): string|array|null

Thông số

________số 8

Các mẫu để tìm kiếm. Nó có thể là một chuỗi hoặc một mảng có chuỗi.

Một số sửa đổi PCRE cũng có sẵn.

replacement

Chuỗi hoặc một mảng có chuỗi để thay thế. Nếu tham số này là một chuỗi và tham số pattern là một mảng, tất cả các mẫu sẽ được thay thế bằng chuỗi đó. Nếu cả hai tham số patternreplacement đều là mảng, mỗi pattern sẽ được thay thế bằng đối tác replacement. Nếu có ít phần tử hơn trong mảng replacement so với mảng pattern, bất kỳ pattern nào sẽ được thay thế bằng một chuỗi trống.

replacement có thể chứa các tài liệu tham khảo của mẫu

The slow black bear jumps over the lazy dog.
9 hoặc $pattern0, với hình thức sau là mẫu ưa thích. Mỗi tài liệu tham khảo như vậy sẽ được thay thế bằng văn bản được chụp bởi mẫu dấu ngoặc đơn. n có thể từ 0 đến 99 và $pattern1 hoặc $pattern2 đề cập đến văn bản phù hợp với toàn bộ mẫu. Dấu ngoặc đơn được tính từ trái sang phải (bắt đầu từ 1) để có được số lượng tiểu mẫu bị bắt. Lưu ý rằng các dấu gạch chéo ngược trong các chuỗi chữ có thể yêu cầu phải được thoát ra.n'th parenthesized pattern. n can be from 0 to 99, and $pattern1 or $pattern2 refers to the text matched by the whole pattern. Opening parentheses are counted from left to right (starting from 1) to obtain the number of the capturing subpattern. Note that backslashes in string literals may require to be escaped.

Khi làm việc với một mẫu thay thế trong đó một bản sao lưu ngay lập tức được theo sau bởi một số khác (tức là: đặt một số theo nghĩa đen ngay sau một mẫu phù hợp), bạn không thể sử dụng ký hiệu $pattern3 quen thuộc cho bản sao lưu của bạn. $pattern4, ví dụ, sẽ nhầm lẫn preg_replace () vì nó không biết liệu bạn có muốn bản sao lưu $pattern3 theo nghĩa đen $pattern6 hay bản sao lưu $pattern4 theo sau là không có gì. Trong trường hợp này, giải pháp là sử dụng $pattern8. Điều này tạo ra một bản sao lưu $pattern9 bị cô lập, để lại $pattern6 như một nghĩa đen.preg_replace() since it does not know whether you want the $pattern3 backreference followed by a literal $pattern6, or the $pattern4 backreference followed by nothing. In this case the solution is to use $pattern8. This creates an isolated $pattern9 backreference, leaving the $pattern6 as a literal.

Khi sử dụng công cụ sửa đổi $replacement1 không dùng, hàm này thoát khỏi một số ký tự (cụ thể là $replacement2, $replacement3, $replacement4 và null) trong các chuỗi thay thế các bản sao lưu. Điều này được thực hiện để đảm bảo rằng không có lỗi cú pháp nào phát sinh từ việc sử dụng bản sao lại với các trích dẫn đơn hoặc kép (ví dụ: $replacement5). Hãy chắc chắn rằng bạn biết về cú pháp chuỗi của PHP để biết chính xác chuỗi được giải thích sẽ trông như thế nào.

$replacement6

Chuỗi hoặc một mảng có chuỗi để tìm kiếm và thay thế.

Nếu $replacement6 là một mảng, thì việc tìm kiếm và thay thế được thực hiện trên mọi mục nhập của $replacement6 và giá trị trả về cũng là một mảng.

Nếu mảng $replacement6 là kết hợp, các khóa sẽ được bảo tồn trong giá trị trả về.

$subject0

Sự thay thế tối đa có thể cho mỗi mẫu trong mỗi chuỗi $replacement6. Mặc định là $subject2 (không có giới hạn).

$subject3

Nếu được chỉ định, biến này sẽ được lấp đầy với số lượng thay thế được thực hiện.

Trả về giá trị

preg_replace () trả về một mảng nếu tham số $replacement6 là một mảng hoặc một chuỗi khác. returns an array if the $replacement6 parameter is an array, or a string otherwise.

Nếu các trận đấu được tìm thấy, $replacement6 mới sẽ được trả về, nếu không $replacement6 sẽ được trả về không thay đổi hoặc null nếu xảy ra lỗi.null if an error occurred.

Errors/Exceptions

Sử dụng công cụ sửa đổi "\ e" là một lỗi; Một $subject8 được phát ra trong trường hợp này.$subject8 is emitted in this case.

Nếu mẫu regex được truyền không biên dịch cho regex hợp lệ, thì $subject8 sẽ được phát ra.$subject8 is emitted.

Ví dụ

Ví dụ số 1 sử dụng các bản sao lưu theo sau là chữ số

$limit0

Ví dụ trên sẽ xuất ra:

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

$limit1

Ví dụ trên sẽ xuất ra:

The bear black slow jumps over the lazy dog.

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

$limit2

Ví dụ trên sẽ xuất ra:

The slow black bear jumps over the lazy dog.

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

$limit3

Ví dụ trên sẽ xuất ra:

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

Bằng các mẫu và thay thế KSORTING, chúng ta nên có được những gì chúng ta muốn.

$limit4

Ví dụ #3 thay thế một số giá trị

$limit6

$limit7

$limit8

Ví dụ trên sẽ xuất ra:

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

Bằng các mẫu và thay thế KSORTING, chúng ta nên có được những gì chúng ta muốn.:

Ví dụ #3 thay thế một số giá trịksort() on each array prior to calling preg_replace().

Bằng các mẫu và thay thế KSORTING, chúng ta nên có được những gì chúng ta muốn.:

Ví dụ #3 thay thế một số giá trị

&$count9

Xem thêm

  • Mẫu pcre
  • preg_quote () - Trích dẫn các ký tự biểu thức chính quy
  • preg_filter () - Thực hiện tìm kiếm biểu thức thông thường và thay thế
  • preg_match () - Thực hiện phù hợp với biểu thức thông thường
  • preg_replace_callback () - Thực hiện tìm kiếm biểu thức thông thường và thay thế bằng cách sử dụng gọi lại
  • preg_split () - Chuỗi phân chia theo biểu thức thông thường
  • preg_last_error () - Trả về mã lỗi của thực thi pcre regex cuối cùng

Arkani tại iol dot pt ¶

13 năm trước

null0

null1

null2

null3

null4

tôi tại perochak dot com ¶

11 năm trước

null5

null6

null7

null4

PHP-comments-remove dot me at dotancohen dot com ¶

14 năm trước

null9

pattern0

pattern1

pattern2

Nik tại Rolls Dot CC ¶

9 năm trước

pattern3

pattern4

null4

razvan_bc tại yahoo dot com ¶

15 ngày trước

pattern6

pattern7

pattern8

pattern9

sternkinder tại gmail dot com ¶

15 năm trước

replacement0

replacement1

replacement2

replacement3

replacement4

Ismith tại Nojunk Dot Motorola Dot Com ¶

15 năm trước

replacement5

replacement6

null4

Ismith tại Nojunk Dot Motorola Dot Com ¶

bublifuk tại mailinator dot com

replacement8

4 năm trước

Thư tại Johanvanderwe Dot NL ¶

replacement9

The slow black bear jumps over the lazy dog.
00

The slow black bear jumps over the lazy dog.
01

The slow black bear jumps over the lazy dog.
02

The slow black bear jumps over the lazy dog.
03

The slow black bear jumps over the lazy dog.
04

The slow black bear jumps over the lazy dog.
05