从逗号分隔列表生成一组HTML列表项? PHP

时间:2012-08-30 17:53:29

标签: php html arrays csv

我的数据库中有一个带有文本值的字段:

“这些,是,某些,关键字”(减去引号)

现在,我想知道我是否可以从中生成无序列表,所以最终我的HTML读取:

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

这是否可以通过PHP实现?如果有的话,是否有人可以帮助我解决这个问题?

非常感谢任何指示。

4 个答案:

答案 0 :(得分: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()而不是爆炸。

答案 1 :(得分: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;
?>

答案 2 :(得分:0)

  1. 您需要explode', '
  2. 添加字符串
  3. print <ul>
  4. 对于您收到的数组中的每个元素,请打印'<li>' . $value . '</li>'
  5. print </ul>

答案 3 :(得分:0)

您可以尝试:

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