从文本文件中获取字符串并分成数组

时间:2012-03-03 11:28:34

标签: php arrays file preg-split file-read

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

如果已从某个位置读取.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)数据以逗号分隔。如果逗号不在行中,则转到下一个数组字段

提前致谢

2 个答案:

答案 0 :(得分:0)

你要做的事情很简单:

  1. 将多行记录折叠为一行
  2. 将线条拆分为数组
  3. 非常多:

    <?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);
    

答案 1 :(得分: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++;}
}