0

我想从文本文件中分割字符串。

如果 .txt 文件已从某个位置读取。我想读取文件并获取数组中的字符串。

文本文件有以下数据

aaa  1111111,
    2hajakka,
    87uj5687,
     F2tryty   
bbb  45454545,
    rereer,
    87uj5687,
     4343343,
    944dsdds

我想将行存储在数组中

$arr = array(
"aaa 1111111, 2hajakka, 87uj5687, F2tryty ",
"bbb 45454545, rereer, 87uj5687, 4343343, 944dsdds");

注意:
数据以名称开头,例如(aaa,bbb)数据以逗号分隔。如果逗号不在行中,则转到下一个数组字段

提前致谢

4

2 回答 2

1

你想要做的很简单:

  1. 将多行记录折叠成一行
  2. 将行拆分为数组

差不多:

<?php
$string = 'aaa  1111111,
    2hajakka,
    87uj5687,
     F2tryty   
bbb  45454545,
    rereer,
    87uj5687,
     4343343,
    944dsdds';

// move lines beginning with a space to the previous line
$string = preg_replace('#\n +#', ' ', $string);
// split lines into array
$array = explode("\n", $string);
var_dump($array);
于 2012-03-03T12:21:13.077 回答
0
$file_handle = fopen("myfile.txt", "r");
$arr[] = "";
$i = 0;
$temp_string = '';

while (!feof($file_handle)) {
$line = fgets($file_handle);
if(strpos($line,",")!== false)
{
$temp_string = $temp_string.$line;}
else{
$temp_string = $temp_string.$line;  
$arr[$i] = $temp_string;
$temp_string = '';
$i++;}
}
于 2012-03-03T12:34:19.290 回答