2012-08-30 104 views
1

我有一個外地在我的文本值數據庫:從逗號分隔的列表中生成一組HTML列表項目? PHP

「這些,都是,一些關鍵詞」(減去引號)

現在,我不知道是否能產生一個無序列表從這最終我的HTML讀取:

<ul> 
<li>these</li> 
<li>are</li> 
<li>some</li> 
<li>keywords</li> 
</ul> 

這是可能與PHP,如果是的話,是否有人能夠幫助我與此?

非常感謝任何指針。

回答

3

你可以像下面這樣實現這一點:

<?php 
$yourList = "these, are, some, keywords"; 
$words = explode(',', $yourList); 
if(!empty($words)){ 
    echo '<ul>'; 
    foreach($words as $word){ 
     echo '<li>'.htmlspecialchars($word).'</li>'; 
    } 
    echo '</ul>'; 
} 
?> 

正如elcodedocle提到的,您可能需要使用str_getcsv(),而不是爆炸,如果比較合適。

+0

這對我來說非常合適。稍作調整。非常感謝你花時間幫助:-)綠色滴答傳入...... – michaelmcgurk

+2

+1記住添加'if(!empty($ words))'和'htmlspecialchars($ word)';) – NotGaeL

2

看一看str_getcsv()explode()

例子:

<?php 
$mystring = "these, are,some , keywords"; 
$myvalues = str_getcsv($mystring); 
$myoutput = "<ul>"; 
foreach ($myvalues as $value){ 
    $myoutput .= "<li>".trim($value)."</li>\n"; 
} 
$myoutput .= "</ul>"; 
echo $myoutput; 
?> 
0
  1. 你需要explode', '
  2. 打印<ul>
  3. 字符串爲您收到的數組中的每個元素你打印'<li>' . $value . '</li>'
  4. 打印</ul>
+1

太好了!我現在就試試看。如果我有點失落,你可以留在線上嗎?再次感謝。 – michaelmcgurk

0

你可以試試:

$arr = explode(",","these, are, some, keywords"); 
$res = "<ul>"; 
foreach ($arr as $val){ 
    $res .= "<li>" . $val . "</li>"; 
} 
$res .= "</ul>"; 
echo $res; 
相關問題