Hướng dẫn replace brackets in php - thay dấu ngoặc trong php
Đây là mã: Show
Nó không thay thế tất cả trong chuỗi đó ... bất kỳ mã hóa nào tốt hơn thế? Thanks.
John 2.36515 huy hiệu bạc21 Huy hiệu đồng15 silver badges21 bronze badges Đã hỏi ngày 17 tháng 6 năm 2019 lúc 18:03Jun 17, 2019 at 18:03
1 Trừ khi bạn cần biểu hiện thường xuyên, hãy tránh chúng. Điều này có thể được thực hiện bằng cách thay thế chuỗi đơn giản, ví dụ:
Đã trả lời ngày 17 tháng 6 năm 2019 lúc 18:15Jun 17, 2019 at 18:15
CMBCMBcmb 5555 Huy hiệu bạc8 Huy hiệu Đồng5 silver badges8 bronze badges Bạn có thể sử dụng
Nơi đây,
Xem bản demo PHP. Bạn cũng có thể sử dụng một cuộc gọi đến 8:
Xem bản demo PHP này. Mẫu 9 nắm bắt dấu chấm câu mở vào nhóm 1 ( 0) và nếu nhóm không trống sau khi tìm thấy trận đấu, 1 sẽ được trả về, khác, 2 được thay thế bằng.Đã trả lời ngày 17 tháng 6 năm 2019 lúc 18:06Jun 17, 2019 at 18:06
Wiktor Stribiżewwiktor StribiżewWiktor Stribiżew 583K35 Huy hiệu vàng402 Huy hiệu bạc 503 Huy hiệu đồng35 gold badges402 silver badges503 bronze badges 0 3 không bao giờ xảy ra trong chuỗi của bạn. Sử dụng một lớp ký tự hoặc nhóm tùy chọn.
Phương pháp tiếp cận lớp không ký tự thay thế:
https://3v4l.org/URvcb Đã trả lời ngày 17 tháng 6 năm 2019 lúc 18:05Jun 17, 2019 at 18:05
user3783243user3783243user3783243 5.1565 Huy hiệu vàng18 Huy hiệu bạc37 Huy hiệu đồng5 gold badges18 silver badges37 bronze badges 2 Không cần Regex ở đây:
Hoặc sử dụng một cuộc gọi đến 4 nhưng mảng sẽ dài hơn.Đã trả lời ngày 17 tháng 6 năm 2019 lúc 18:17Jun 17, 2019 at 18:17
AbracadaverabracadaverAbraCadaver 77.6K7 Huy hiệu vàng63 Huy hiệu bạc84 Huy hiệu đồng7 gold badges63 silver badges84 bronze badges 2 năm trước (Php 4, Php 5, Php 7, Php 8) — Perform a regular expression search and replace preg_replace - thực hiện tìm kiếm biểu thức thông thường và thay thếSự mô tả( preg_replace (& nbsp; & nbsp; & nbsp; & nbsp; chuỗi | mảng ________ 25, & nbsp; & nbsp; & nbsp; $string="{1},[2],(3),<4>"; $what = ['~[{[<]~', '~[]}>]~']; $with = ['(', ')']; $string = preg_replace($what, $with, $string); echo $string; 8 = -1, & nbsp; & nbsp; & nbsp; & nbsp; int $string="{1},[2],(3),<4>"; $what = ['~[{[<]~', '~[]}>]~']; $with = ['(', ')']; $string = preg_replace($what, $with, $string); echo $string; 9 = $string = preg_replace_callback('~([{[<])|[]}>]~', function ($m) { return !empty($m[1]) ? "(" : ")"; }, $string); 0): chuỗi | mảng | nullThông số
1Cá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.
2Chuỗ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ố 1 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ố 1 và 2 đều là mảng, mỗi 1 sẽ được thay thế bằng đối tác 2. Nếu có ít phần tử hơn trong mảng 2 so với mảng 1, bất kỳ 1 nào cũng sẽ được thay thế bằng một chuỗi trống.n'th parenthesized pattern. n can be from 0 to 99, and 4 or 5 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.
2 có thể chứa các tài liệu tham khảo về mẫu 2 hoặc 3, với dạng 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à 4 hoặc 5 đề 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.preg_replace() since it does not know whether you want the 6 backreference followed by a literal 9, or the 7 backreference followed by nothing. In this case the solution is to use 1. This creates an isolated 2 backreference, leaving the 9 as a literal. 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 6 quen thuộc cho bản sao lưu của bạn. 7, 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 6 theo nghĩa đen 9 hay bản sao lưu 7 theo sau là không có gì. Trong trường hợp này, giải pháp là sử dụng 1. Điều này tạo ra một bản sao lưu 2 bị cô lập, để lại 9 như một nghĩa đen. Khi sử dụng công cụ sửa đổi 4 không dùng, hàm này thoát khỏi một số ký tự (cụ thể là 5, 6, 7 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ụ: 8). 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.
9Chuỗi hoặc một mảng có chuỗi để tìm kiếm và thay thế. Nếu 9 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 9 và giá trị trả về cũng là một mảng. Nếu mảng 9 là kết hợp, các khóa sẽ được bảo tồn trong giá trị trả về.
3 Sự thay thế tối đa có thể cho mỗi mẫu trong mỗi chuỗi 9. Mặc định là 5 (không có giới hạn).
6Nế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ị returns an array if the 9 parameter is an array, or a string otherwise. preg_replace () trả về một mảng nếu tham số 9 là một mảng hoặc một chuỗi khác. 0 if an error occurred. Errors/ExceptionsNếu các trận đấu được tìm thấy, 9 mới sẽ được trả về, nếu không 9 sẽ được trả về không thay đổi hoặc 0 nếu xảy ra lỗi.The bear black slow jumps over the lazy dog.1 is emitted in this case. Sử dụng công cụ sửa đổi "\ e" là một lỗi; Một The bear black slow jumps over the lazy dog.1 được phát ra trong trường hợp này. The bear black slow jumps over the lazy dog.1 is emitted. Nếu mẫu regex được truyền không biên dịch cho một regex hợp lệ, một The bear black slow jumps over the lazy dog. 1 được phát ra.Ví dụ The bear black slow jumps over the lazy dog.3 Ví dụ số 1 sử dụng các bản sao lưu theo sau là chữ số Ví dụ #2 Sử dụng các mảng được lập chỉ mục với preg_replace ()preg_replace() The bear black slow jumps over the lazy dog.4 Ví dụ trên sẽ xuất ra: The bear black slow jumps over the lazy dog. 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. The bear black slow jumps over the lazy dog.5 Ví dụ trên sẽ xuất ra: The slow black bear jumps over the lazy dog. 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. The bear black slow jumps over the lazy dog.6 Ví dụ trên sẽ xuất ra: 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ị The bear black slow jumps over the lazy dog.7 Ví dụ #4 STRIP Whitespace The bear black slow jumps over the lazy dog.9 The slow black bear jumps over the lazy dog.0 The slow black bear jumps over the lazy dog.1 Ví dụ trên sẽ xuất ra: 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ụ này dải khoảng trắng dư thừa từ một chuỗi.
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ế
[{[<] 7preg_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
00[{[<] 7preg_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 02 03 04 05Arkani tại iol dot pt ¶ ¶ 13 năm trước 06 07[{[<] 7tôi tại perochak dot com ¶ ¶ 11 năm trước 09 10 11 12PHP-comments-remove dot me at dotancohen dot com ¶ ¶ 14 năm trước 13 14 15 16 17Nik tại Rolls Dot CC ¶ ¶ 14 năm trước 18 19[{[<] 7Nik tại Rolls Dot CC ¶ ¶ 9 năm trước 21razvan_bc tại yahoo dot com ¶ ¶ 21 ngày trước 22 23 24 25 26 27 28 |