首頁 >後端開發 >php教程 >如何在 PHP 中匹配 \\r 和 \\n 而不使用 [\\r\\n]?

如何在 PHP 中匹配 \\r 和 \\n 而不使用 [\\r\\n]?

Linda Hamilton
Linda Hamilton原創
2024-11-02 20:10:021066瀏覽

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

在PHP 中不使用[rn] 匹配r 和n

在PHP 中,不使用[rn] 匹配r 和n的挑戰] 需要不同的方法。

PCRE 和換行符

PCRE 提供了幾個處理換行符的轉義序列,包括 R。

  • 使用預設設定的 R: 符合 Unicode 換行符,但可以使用修飾符進行設定。
  • R 與 u (Unicode) 修飾符: 符合任何 Unicode 換行序列。
  • R 與 (*BSR_ANYCRLF) 修飾符: 限制 R 僅符合 CR、LF 或 CRLF。

範例:

<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>換行約定的其他選項

PCRE 支援五種用於指示字串換行符的約定:

  • (*CR) - 回車
  • (*LF) - 換行
  • (*CRLF) - 回車,後接換行
  • (*CRLF) - 回車,後跟換行
  • (*ANYCRLF) - 以上三個中的任何一個
(*ANY) - 所有Unicode 換行序列

<code class="php">if (preg_match('~(*ANYCRLF)\R~', $string)) {
  echo "Matched CR, LF, or CRLF.";
}</code>
使用(*ANYCRLF) 確保僅符合CR、LF或CRLF。

注意

在字元類別中,R 失去其特殊意義並被視為字面「R」字元。

以上是如何在 PHP 中匹配 \\r 和 \\n 而不使用 [\\r\\n]?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn