1. ホーム
  2. php

[解決済み] PHP で文字列の各行を反復処理する

2022-05-10 05:42:15

質問

ユーザーがテキストファイルをアップロードするか、ファイルの内容をコピーしてテキストエリアに貼り付けるかのどちらかを選択できるフォームがあります。この2つを簡単に区別して、ユーザーが入力した方を文字列変数に入れることができますが、そこから先はどうすればいいのでしょうか?

私は、文字列の各行を繰り返し処理し(できれば異なるマシンで改行を気にしない)、正確に1つのトークンであることを確認し(スペース、タブ、カンマなどなし)、データをサニタイズし、すべての行からSQLクエリを生成する必要があります。

私はかなり優秀なプログラマーなので、やり方は大体わかっているのですが、PHPを扱うのは久しぶりなので、間違ったことを検索してしまい、無駄な情報が出てきているような気がしています。私が抱えている重要な問題は、文字列の内容を一行ずつ読みたいということです。ファイルだったら簡単なんですけどね。

私は主に便利なPHPの関数を探しており、それを行う方法のアルゴリズムを探しているわけではありません。何か提案はありますか?

どのように解決するのですか?

preg_split という変数にテキストを格納し、返された配列を繰り返し処理します。

foreach(preg_split("/((\r?\n)|(\r\n?))/", $subject) as $line){
    // do stuff with $line
}