2011-01-07 84 views
2

$alltext变量内容在代码里:插入到一个数组

<li>sometext</li><li>sometext</li> 
<li>sometext</li><li>sometext</li> 

如何获得每个<li>...</li>像一个数组的项目?

+0

如果HTML不一致(即:可以有其他标签,属性等),则应该使用DOM解析器。 – netcoder 2011-01-07 14:38:31

回答

2

如果每个元素由 “新线” 分开,你可以尝试:

$array = explode("\n",$alltext); 

如果不是,那么:

$array = explode("</li>"); 

foreach($array as $k=>$v){ 
    $array[$k] = $v."</li>"; 
} 
2

$array = explode("\n", $alltext);

好像你应该有一个更好的方法,虽然。

1

如果文本由新线分开,你可以这样做:

$arr = explode("\r\n", $alltext); 
foreach($arr as $val){ 
    echo $val; 
} 

你会如果没有在Windows下使用\n

+0

我不敢相信我们都写了几乎相同,甚至没有看对方的回答大声笑 – JCOC611 2011-01-07 14:35:03

0

使用爆炸功能,使用“\ r \ n”(换行符)作为分流

1

相同的答案从@Sarfraz和@戴夫吻,但跨平台:

$listItems = explode(PHP_EOL, $alltext); 

但是,当他说你应该有一个更好的方法(软件设计)时,我同意Dave Kiss。