将用户输入转换为PHP中的列表数组
问题描述:
我有一个textarea字段。输出将是一个HTML列表。每一行将是一个新的列表项。如果用户输入一个hypen(' - '),则列表项将被嵌套将用户输入转换为PHP中的列表数组
Sample
test1
te-st2
-test3
-test4
--test5
--test6
-test7
test8
-test9
test10
Output should be
Array (test1,
te-st2,
array(test3,
test4,
array(test5, test6),
test7
),
test8,
array(test9),
test10
我不担心关键值。 我再从http://api.drupal.org/api/drupal/includes--theme.inc/function/theme_item_list 运行theme_item_list
创建列表
答
试试这个(这还没有经过测试,因此它可能需要一些调整):
$sample = "test1
te-st2
-test3
-test4
--test5
--test6
-test7
test8
-test9
test10"
$arr = explode("\n",$sample);
foreach($arr as $key=>$val){
if($val[0] == '-'){
unset($val[0]);
if($val[1] == '-'){
unset($val[0]);
unset($arr[$key]);
$arr[$key-1][] = $val;
}
else {
$arr[$key] = array($val);
}
}
}
将这份名单只列出3或者是N + – Prisoner 2011-03-23 16:57:29
@Prisoner它的N – iStryker 2011-03-23 17:15:58