我如何使用php分隔这个元素我已经进入文件
例如:
##cat 1##
**
element 1
element 2
element 3
**
##cat 2##
**
element 1
element 2
element 3
**
##cat 3##
**
element 1
element 2
element 3
**
我在很多时间看到php的手册和我尝试爆炸等没有得到好的结果,它可以用php发送简单循环运行所有这些内容并在每种情况下将内容分成##或**并显示每个元素分开?
我尝试这样做,但事情不好,因为我不能这样做,并尝试多次foreach,爆炸,bucle等等,并始终得到相同的结果,并显示所有没有每个元素
感谢您的帮助
答案 0 :(得分:0)
我不确定我理解你的问题。如果您想获取上面的输入并产生以下内容:
Array
(
[##cat 1##] => Array
(
[0] => element 1
[1] => element 2
[2] => element 3
)
[##cat 2##] => Array
(
[0] => element 1
[1] => element 2
[2] => element 3
)
[##cat 3##] => Array
(
[0] => element 1
[1] => element 2
[2] => element 3
)
)
试试这个:
$input_text =<<<INPUT_TEXT
##cat 1##
**
element 1
element 2
element 3
**
##cat 2##
**
element 1
element 2
element 3
**
##cat 3##
**
element 1
element 2
element 3
**
INPUT_TEXT;
$output = array();
$current = NULL;
foreach( explode( "\n", $input_text ) as $line )
{
$line = trim( $line );
if( empty( $line ) )
{
continue;
}
if( substr( $line, 0, 2 ) == '##' )
{
$current = trim( $line );
continue;
}
if( substr( $line, 0, 2 ) == '**' )
{
continue;
}
if( !empty( $current ) )
{
$output[$current][] = $line;
}
}
print_r( $output );