重複の可能性:
PHP の数字に基づいて文字列配列を分割していますか?
すべてが 1 つの大きなテキスト チャンクに含まれる一連のデータがあります。次のようになります。
01/02 10:45:01 テスト データ 01/03 11:52:09 テスト データ 01/04 18:63:05 テスト データ 01/04 21:12:09 テスト データ 01/04 13:10:07 テスト データ01/05 07:08:09 テスト データ 01/05 10:07:08 テスト データ 01/05 08:00:09 テスト データ 01/06 11:01:09 テスト データ
私は単純にこれを読みやすくしようとしています (たとえば、以下を参照)。ただし、各行でわずかに似ているのは、開始が 00/00 パターンに従うことだけです。
01/02 10:45:01 test data
01/03 11:52:09 test data
01/04 18:63:05 test data
01/04 21:12:09 test data
01/04 13:10:07 test data
01/05 07:08:09 test data
01/05 10:07:08 test data
01/05 08:00:09 test data
01/06 11:01:09 test data
それを正規表現パターンに一致させることで、それを分割するところまで来ました。
$split = preg_split("/\d+\\/\d+ /", $contents, -1, PREG_SPLIT_NO_EMPTY);
そして、これは出力します。
Array ( [0] =>
[1] => 10:45:01 test data
[2] => 11:52:09 test data
[3] => 18:63:05 test data
[4] => 18:63:05 test data
...and so on
しかし、ご覧のとおり、問題は preg_split が区切り記号を保持していないことです。preg_split を次のように変更してみました。
$split = preg_split("/\d+\\/\d+ /", $contents, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE
ただし、これは上記と同じものを返しますが、行頭に 00/00 はありません。
私は何か間違ったことをしましたか、それともこれを達成するためのより良い方法ですか?