Я получил строку, которую я разделил, используя ‘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 ()’ разделить строку и выходной массив. Но даже после этого пытался увидеть результат. Это дает мне ошибку.
С нетерпением ждем помощи экспертов.
Заранее спасибо.
$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);
}
Других решений пока нет …