PHP - 从一个字段拉出逗号的列表

时间:2015-12-13 18:23:35

标签: php mysql mysqli

标题可能有点误导,说实话,我不知道这个功能叫什么。

我有一个字段,其中包含数据库中的用户技能列表,技能将以逗号分隔。

当我回到该字段时,我希望逗号后的每个技能都在新的列表元素中。

所以它会在HTML中回显:

<ul>
<li>Cycling</li>
<li>Driving</li>
<li>Running</li>
</ul>

然而在该领域的技能&#39;它看起来像:

  

骑自行车,驾驶,跑步

我读到你需要爆炸逗号然而我不知道如何完成它。

5 个答案:

答案 0 :(得分:1)

这可以通过explodephp documentation)来实现。

$activities = 'Cycling, Driving, Running';
$exploded = explode(', ', $activities);
foreach ($exploded as $activity) {
    echo '<li>' . $activity . '</li>';
}

答案 1 :(得分:1)

您可以使用str_replace

$skills = "Cycling, Driving, Running";
echo '<ul><li>' . str_replace(", ", "</li><li>", $skills) . '</li></ul>';

答案 2 :(得分:1)

此处explode

$activities = explode(',', $activities);  

使用array_map过滤以修剪数组的值(因此它们上面没有空格):

$activities = array_map('trim', $activities);

然后用implode粘贴它:

$activities = '<li>' . implode('</li><li>' . $activities) . '</li>';

将所有内容放在一起,进行一些防御性编程:

$activities = explode(',', $activities);
if ( $activities ) {
    $activities = array_map('trim', $activities);
    $activities = '<li>' . implode('</li><li>' . $activities) . '</li>';
}

答案 3 :(得分:0)

$list = "Cycling, Driving, Running";
$elements = explode(", ",$list);

echo "<ul>";
foreach($elements as $element){
    echo "<li>$element</li>";
}
echo "</ul>";

答案 4 :(得分:0)

我现在已经开始工作了! :)

感谢谁的贡献。

我使用的代码:

<ul class="list-unstyled">
    <?php
    $activities_q = "SELECT skills FROM users WHERE uid='".$row['uid']."'";
    $activities = $row['skills'];
    $exploded = explode(',', $activities);
    foreach ($exploded as $activity) {
        echo '<li class="list-group-item">' . $activity . '</li>';
    }
?>
</ul>