1

データベースに次のテキスト値を持つフィールドがあります。

「these、are、some、keywords」(逆コンマを除く)

ここで、これから順序なしリストを生成できるかどうか疑問に思うので、最終的に私の 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()を使用することをお勧めします。

于 2012-08-30T18:00:21.883 に答える
2

str_getcsv()Explore () を見てください。

例:

<?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 に答える