Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Memadankan \\r dan \\n dalam PHP Tanpa Menggunakan [\\r\\n]?

Bagaimana untuk Memadankan \\r dan \\n dalam PHP Tanpa Menggunakan [\\r\\n]?

Linda Hamilton
Linda Hamiltonasal
2024-11-02 20:10:021066semak imbas

How to Match \r and \n in PHP Without Using [\r\n]?

Memadankan r dan n Tanpa [rn] dalam PHP

Dalam PHP, cabaran memadankan r dan n tanpa menggunakan [rn ] memerlukan pendekatan yang berbeza.

PCRE dan Baris Baharu

PCRE menyediakan beberapa urutan pelarian untuk mengendalikan baris baharu, termasuk R.

  • R dengan Tetapan Lalai: Memadankan baris baharu Unikod tetapi boleh dikonfigurasikan menggunakan pengubah suai.
  • R with u (Unicode) Modifier: Memadankan mana-mana jujukan baris baharu Unikod.
  • R dengan (*BSR_ANYCRLF) Pengubah suai: Mengehadkan R untuk memadankan CR, LF atau CRLF sahaja.

Contoh:

<code class="php">$string = "
Test
";

// Match any Unicode newline sequence
if (preg_match('~\R~u', $string)) {
  echo "Matched CR, LF, or any Unicode newline.";
}</code>

< ;h3>Pilihan Tambahan untuk Konvensyen Baris Baharu

PCRE menyokong lima konvensyen untuk menunjukkan pemisah baris dalam rentetan:

  • (*CR) - Pulangan pengangkutan
  • (*LF) - Linefeed
  • (*CRLF) - Carriage return, diikuti dengan linefeed
  • (*ANYCRLF) - Mana-mana daripada tiga di atas
  • (*ANY) - Semua urutan baris baharu Unikod

Menggunakan (*ANYCRLF) memastikan bahawa hanya CR, LF atau CRLF dipadankan.

<code class="php">if (preg_match('~(*ANYCRLF)\R~', $string)) {
  echo "Matched CR, LF, or CRLF.";
}</code>

Note

Dalam kelas aksara, R kehilangan makna istimewanya dan dianggap sebagai aksara "R" literal.

Atas ialah kandungan terperinci Bagaimana untuk Memadankan \\r dan \\n dalam PHP Tanpa Menggunakan [\\r\\n]?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn