【问题标题】:Generate a set of HTML list items from a comma separated list? PHP从逗号分隔的列表中生成一组 HTML 列表项? PHP
【发布时间】:2012-08-30 17:53:28
【问题描述】:

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

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

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

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

这可以用 PHP 实现吗?如果可以,有人可以帮我解决这个问题吗?

非常感谢您的任何指点。

【问题讨论】:

    标签: php html arrays csv


    【解决方案1】:

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

    <?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。

    【讨论】:

    • 这对我来说非常有效。稍作调整。非常感谢您抽出宝贵时间提供帮助 :-) 绿勾传入....
    • +1 记得添加 if(!empty($words))htmlspecialchars($word) ;)
    【解决方案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;
    ?>
    

    【讨论】:

      【解决方案3】:
      1. 你需要explode你的字符串', '
      2. 打印&lt;ul&gt;
      3. 对于收到的数组中的每个元素,打印'&lt;li&gt;' . $value . '&lt;/li&gt;'
      4. 打印&lt;/ul&gt;

      【讨论】:

      • 太棒了!我现在就试一试。万一我迷路了,你可以继续在线吗?再次感谢。
      【解决方案4】:

      你可以试试:

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

      【讨论】:

        猜你喜欢
        • 2012-06-05
        • 2016-07-29
        • 1970-01-01
        • 1970-01-01
        • 2018-05-20
        • 1970-01-01
        • 2013-07-03
        • 1970-01-01
        • 2019-02-20
        相关资源
        最近更新 更多