1

我有这个值表数据库

10:00|10:15|10:30

我需要将此符号替换|为 html 列表<li>

像这样:

<li><input class="left" type="text" value="10:00" /><div class="del right ">x</div></li>
<li><input class="left" type="text" value="10:15" /><div class="del right ">x</div></li>
<li><input class="left" type="text" value="10:30" /><div class="del right ">x</div></li>
4

4 回答 4

4

使用explode(), 然后从结果数组构建列表:

$str = "10:00|10:15|10:30";
$out = "";

foreach ( explode( "|", $str ) as $value ) {
  $out .= "<li>{$value}</li>";
}

echo "<ul>{$out}</ul>";

结果是:

<ul>
    <li>10:00</li>
    <li>10:15</li>
    <li>10:30</li>
</ul>

从这里添加您的输入是一件轻而易举的事:

foreach ( explode( "|", $str ) as $value ) {
    $out .= "<li>
                 <input class='left' type='text' value='{$value}' />
                 <div class='del right'>x</div>
             </li>";
}

留给您以下内容:

<ul>
    <li>
        <input class='left' type='text' value='10:00' />
        <div class='del right'>x</div>
    </li>
    <li>
        <input class='left' type='text' value='10:15' />
        <div class='del right'>x</div>
    </li>
    <li>
        <input class='left' type='text' value='10:30' />
        <div class='del right'>x</div>
    </li>
</ul>
于 2012-05-29T21:57:35.990 回答
0

您可以使用 |分解每个结果 作为分隔符。

于 2012-05-29T21:57:57.300 回答
0

您可以使用将其拆分为数组

$input = '10:00|10:15|10:30';
$list = explode('|', $input);

比使用 foreach 遍历数组

foreach ($list as $li) {
    echo '<li />' . $li;
}
于 2012-05-29T21:59:05.640 回答
0

尝试使用:

<?php
    $result = explode('|','10:00|10:15|10:30');
    foreach($result as $single)
    {
        echo '<li><input class="left" type="text" value="'.$single.'" /><div class="del right ">x</div></li>'."\r\n";
    }
?>
于 2012-05-30T10:16:36.787 回答