2011-01-07 115 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。