PHP で最大限の効率で改行を置換する
テキスト データを操作する場合、「rn」などの異なる改行スタイルに遭遇するのが一般的です。 、「n」、または「r」。これらの改行を一貫した形式に置き換えることは、データ処理を改善するために重要な作業です。ただし、複数の str_replace() 呼び出しを使用する単純なアプローチは非効率的になる可能性があります。
最も賢い解決策: 正規表現
このプロセスを最適化するには、最も効率的なアプローチは次のとおりです。 R (または (*BSR_ANYCRLF)) パターンで正規表現を使用します。その仕組みは次のとおりです。
$string = preg_replace('~\R~u', "\r\n", $string);
R パターンは、すべての Unicode 改行シーケンスと一致します。 u 修飾子は、入力文字列が UTF-8 として扱われることを保証します。すべての改行を rn に置き換えることで、テキスト データ全体で一貫性を実現できます。
置換のカスタマイズ
特定の要件で CRLF シーケンスのみの一致と置換が必要な場合は、以下を使用できます。次のコード:
$string = preg_replace('~(*BSR_ANYCRLF)\R~', "\r\n", $string);
このパターンにより、CRLF シーケンスのみが識別され、次のシーケンスに置き換えられます。 rn.
PCRE 改行セマンティクスについて
デフォルトでは、R はすべての Unicode 改行シーケンスに一致します。ただし、コンパイル時に PCRE_BSR_ANYCRLF オプションを使用すると、この動作を変更できます。これにより、R が CR、LF、または CRLF シーケンスのみに一致するように制限されます。
追加メモ
以上がPHP で最も効率的に改行を置換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。