2014-10-02 43 views
0

我得到了使用'explode()'分割的字符串,但我需要一些更多的步骤来做。我必须用分隔符多次分割数组输出。我怎样才能按分隔符分割数组

txt文件的内容看起来像

Question1|opt1,opt2,opt3;Question2|opt1,opt2,opt3;question3|opt1,opt2,opt3;Question4|opt1,opt2,opt3; 

请看看代码

$open=fopen("mydata.txt","r+"); 
    while(!feof($open)){ 
    $see=fgets($open); 
    $exp=explode(";",$see); 
    //$exp1=explode("|",$exp); 
    //$exp2=explode(",",$exp1); 

    $vaq = "</br> ".$imp[0]; 
    echo $vaq; 

    } 
fclose($open); 

我需要的是在下面的格式来呼应

Question1 
Opt1 
Opt2 
Opt3 

Question2 
Opt1 
Opt2 
Opt3 

....... 
....... 
....... 

我知道' explode()'分割字符串和输出数组。但即使在那之后试图看到结果。它给我错误。

期待专家的协助。

在此先感谢。

回答

2
$str = file_get_contents('mydata.txt'); 
$data = preg_split('/[\|,;]/', $str); 
echo join("\n<br>", $data); 

代码假定非QuestionNOptN有符号|,;内。

如果你想所有的东西分开

$blocks = explode(';', file_get_contents('mydata.txt')); 
foreach($blocks as $block) 
{ 
    list($question, $opts) = explode('|', $block); 
    $opts = explode(',', $opts); 

    // do whatever you wanted to do 
    var_dump($question); 
    var_dump($opts); 
} 
+0

我不认为它需要
,但在其他方面不好回答+1 – 2014-10-02 01:13:47

+0

@cheery感谢lot.It工作。+ 10000和爱的地段 – 2014-10-02 01:15:49

+0

@ l'L只是复制了TS的输出) – Cheery 2014-10-02 01:18:09

相关问题