PHP 文字列を改行で分割する [重複] 質問する

PHP 文字列を改行で分割する [重複] 質問する

簡単ですよね?でも、これはうまくいきません :-\

$skuList = explode('\n\r', $_POST['skuList']);

ベストアンサー1

ベストプラクティス

最初の回答のコメントで述べたように、ベストプラクティスはPHP定数を使用することですPHP_EOLこれは現在のシステムの EOL ( End Of Line ) を表します。

$skuList = explode(PHP_EOL, $_POST['skuList']);

PHPは他にも多くの非常に便利な定数コードシステムを独立させるために使用できるものについては、このリンク便利でシステムに依存しないディレクトリ定数を見つけます。

警告

これらの定数により、ページ システムは独立しますが、あるシステムから別のシステムへ移動する際に、別のシステムに保存されているデータで定数を使用すると、問題が発生する可能性があります。新しいシステムの定数は以前のシステムの定数と異なる場合があり、保存されているデータが機能しなくなる可能性があります。そのため、保存する前にデータを完全に解析し、システムに依存する部分をすべて削除してください。

アップデート

Andreas のコメントにより、ここで提示した「ベスト プラクティス」ソリューションは、説明したユース ケースには適用されないことがわかりました。サーバーの EOL (PHP) は、ブラウザー (任意の OS) が使用している EOL とは何の関係もありませんが、文字列の取得元はブラウザーです。

したがって、次の解決策を使用してください。翻訳者万全を期すために:

$skuList = preg_split('/\r\n|\r|\n/', $_POST['skuList']);

おすすめ記事