ホームページ >バックエンド開発 >PHPチュートリアル >PHP 文字列を改行文字で確実に分解するにはどうすればよいですか?
PHP 文字列を改行で分解する
PHP では、explode() 関数を使用して、文字列を配列に分割します。指定された区切り文字。ただし、改行文字を含む文字列を扱う場合、単純な "n" 区切り文字の使用は常に期待どおりに機能するとは限りません。
コード $skuList =explode('nr', $_POST['skuList']) ;は、Windows と Mac の両方の改行文字を表す「nr」区切り文字を使用しているため、機能しません。ただし、Linux や Unix などのシステムでは、「n」のみが使用されます。
ベスト プラクティス:
改行で文字列を展開するベスト プラクティスは、 PHP 定数 PHP_EOL。この定数は現在のシステムの行末文字を表し、コードがシステムに依存しないことを保証します。
$skuList = explode(PHP_EOL, $_POST['skuList']);
警告:
PHP_EOL を使用するとシステムの独立性が促進されますが、注意してください。システム間でデータを移動するときに実行する必要があります。定数の値はシステム間で異なる場合があり、その結果、データが不正確になる可能性があります。したがって、データを保存する前にデータを徹底的に解析して、システムに依存する要素をすべて削除することをお勧めします。
UPDATE:
ただし、この特定のケースでは、次のように指摘されています。 @Andreas、$_POST['skuList']の改行文字はサーバーではなくブラウザからのものであるため、この解決策は適切ではない可能性があります。したがって、より適切な解決策が @Alin_Purcaru によって推奨されています:
$skuList = preg_split('/\r\n|\r|\n/', $_POST['skuList']);
この正規表現は、さまざまなオペレーティング システムで使用される共通の改行文字シーケンスのいずれかに基づいて文字列を分割します。
以上がPHP 文字列を改行文字で確実に分解するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。