我有一个像这样分开的列表:
<!--start-->
item 1
<!--end-->
<!--start-->
item 2
<!--end-->
我需要创建一个数组,其中第一个var是第1项,第二个第2项依此类推......
我该怎么做?
答案 0 :(得分:2)
$string = .... <your data>
$array = explode('<!--start-->\n', $string);
$final = array();
foreach ($array as $line) {
$final[] = str_replace('<!--end-->\n', '', $line);
}
echo "<pre>";
print_r($final);
这将为您提供所需的信息。
答案 1 :(得分:0)
看一下preg_split()函数。
答案 2 :(得分:0)
假设列表在$input
:
// remove the start tag and add a newline at the end
$input = str_replace("<!--start-->\n", "", $input . "\n");
// break the list into an array (the last item will be an empty string)
$output = explode("\n<!--end-->\n", $input);
// remove the empty item at the end
unset($output[count($output) - 1]);
答案 3 :(得分:0)
我的主张:
$str = "<!--start-->
item 1
<!--end-->
<!--start-->
item 2
<!--end-->";
$in = explode(PHP_EOL, $str);
function filter($ell) {
if (strpos($ell, '<!--') !== 0){
return true;
}
return false;
}
$arr = array_filter($in, 'filter');
var_dump($arr);