1

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

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

现在,我想知道我是否可以从中生成一个无序列表,所以最终我的 HTML 内容如下:

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

这对 PHP 可行吗?如果可以,有人可以帮我解决这个问题吗?

非常感谢您的任何指点。

4

4 回答 4

5

您可以通过以下方式完成此操作:

<?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()而不是 explode 。

于 2012-08-30T18:00:21.883 回答
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;
?>
于 2012-08-30T17:56:14.567 回答
0
  1. 你需要爆炸你的字符串', '
  2. 打印<ul>
  3. 对于您收到的数组中的每个元素,您打印'<li>' . $value . '</li>'
  4. 打印</ul>
于 2012-08-30T17:58:01.313 回答
0

你可以试试:

$arr = explode(",","these, are, some, keywords");
$res = "<ul>";
foreach ($arr as $val){
    $res .=  "<li>" . $val . "</li>";
}
$res .= "</ul>";
echo $res;
于 2012-08-30T18:03:13.660 回答