PHP 文字列を改行文字で分割する
複数行の入力を扱う場合、文字列を個別の配列に分割する必要があるのが一般的です。線。この目的には PHP の展開関数を使用できますが、文字列を正確に分割するには正しい区切り文字が必要です。
explode('nr', $_POST['skuList']) を使用した最初の試みは失敗します。これは、改行文字が Windows スタイルのキャリッジ リターンとその後に続くライン フィード (rn) であると想定しているためです。ただし、オペレーティング システムと入力ソースによっては、改行文字が異なる場合があります。
ベスト プラクティス: PHP_EOL の使用
このシステム依存関係に対処するには、次の使用をお勧めします。 PHP 定数 PHP_EOL。この定数は現在のシステムの行末文字を表し、環境に関係なく文字列が一貫して分割されるようにします。
$skuList = explode(PHP_EOL, $_POST['skuList']);
注意: データのシステム依存性
PHP_EOL を使用するとコード システムが独立しますが、システム間でデータを移動する際の潜在的な問題に注意することが重要です。新しいシステムの PHP_EOL 定数は異なる可能性があり、保存されたデータが破損する可能性があります。これを回避するには、保存する前にデータを完全に解析してクリーンアップし、システム依存のコンポーネントを削除します。
ブラウザ固有の改行文字
この特定の使用例のコンテキストでは、文字列がブラウザから取得されていることに注意してください。ブラウザでは、オペレーティング システムに応じて異なる改行文字が使用されます。すべての可能性を処理するには、次の正規表現を使用できます:
$skuList = preg_split('/\r\n|\r|\n/', $_POST['skuList']);
この式は、考えられる改行文字のいずれかと一致し、ソースに関係なく文字列が正しく分割されるようにします。
以上がPHP で複数行の文字列を確実に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。