2014-10-02 3 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 

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

내가 아는 형식 다음에 반향하는 것입니다 폭발() '분할 문자열 및 출력 array.but 그 후에도 결과를 보았습니다. 그것은 나에게 오류를 제공합니다.

전문가의 도움을받을 것입니다.

미리 감사드립니다.

답변

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

코드가 아닌 QuestionN의, OptN 심볼 내부 |, ,; 있다고 가정합니다. 당신은 모든 일을 분리하는

$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 –

+0

@cheery 감사합니다

는 lot.It은했다. + 10000 많은 사랑 –

+0

@ l' L' l은 방금 출력 한 TS를 복사했습니다.) – Cheery

관련 문제