Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Memadankan Aksara Baris Baru dalam PHP Regex Tanpa Menggunakan [\\r\\n]?

Bagaimanakah Saya Boleh Memadankan Aksara Baris Baru dalam PHP Regex Tanpa Menggunakan [\\r\\n]?

Barbara Streisand
Lepaskan: 2024-11-03 19:00:04
asal
694 orang telah melayarinya

How Can I Match Newline Characters in PHP Regex Without Using [\r\n]?

Memadankan Aksara Baris Baharu dalam PHP Regex tanpa [rn]

Dalam PHP, ungkapan biasa [rn] biasanya digunakan untuk memadankan carriage returns (r) atau linefeeds ( n). Walau bagaimanapun, bagaimana jika anda ingin memadankan aksara ini tanpa menggunakan corak khusus ini?

Unicode Newline Escape Sequence: R

PCRE memperkenalkan urutan R escape, yang secara lalai sepadan dengan urutan baris baharu Unicode. Ini termasuk:

  • rn (CRLF)
  • n (LF)
  • r (CR)
  • f (Suapan borang)
  • x0b (tab Menegak)
  • x85 (Barisan seterusnya)

Contoh:

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

if (preg_match('~\R~', $string)) {
  echo "Matched";
} else {
  echo "Not Matched";
}</code>
Salin selepas log masuk

Baris Baharu Unikod Urutan Melarikan Diri dengan Bendera 'u':

Untuk memadankan aksara baris baharu di luar julat ASCII, dayakan bendera 'u' (unikod):

<code class="php">preg_match('~\R~u', $string);</code>
Salin selepas log masuk

Menghadkan R kepada CR, LF atau CRLF:

Jika anda hanya mahu memadankan pemulangan pengangkutan, suapan talian atau kedua-duanya, gunakan corak berikut:

<code class="php">preg_match('~(*BSR_ANYCRLF)\R~', $string);</code>
Salin selepas log masuk

Konvensyen Tambahan untuk Watak Baris Baharu:

PCRE juga menyokong pelbagai konvensyen untuk menunjukkan aksara baris baharu:

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

Nota: R tidak mempunyai makna istimewa di dalam kelas aksara dan sebaliknya bertindak sebagai aksara literal "R."

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memadankan Aksara Baris Baru dalam PHP Regex Tanpa Menggunakan [\\r\\n]?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan