0

次のようなプレーンテキストの行を含む変数 $boo があります (単一の改行あり):

a

b

c

それを箇条書きリストにフォーマットする関数が必要です。次のことを考え出しましたが、出力するものを静かにすることはできません:

<?php
function listformat ($list) {
    $listformat = explode("\n", $listformat);
    foreach ($listformat as $test => $line) {
        return "<li>".$line."</li>";
    };
};
?>

<ul>
<?php
listformat ($boo);
?>
</ul>

「return」の代わりに echo を使用し、関数を削除すると機能します。

4

3 に答える 3

2

return関数を終了し、ステートメントを呼び出したものに送り返します。だから、はい、エコーが必要です

<?php
function listformat ($list) {
    $listformat = explode("\n", $list);
    foreach ($listformat as $line) {
        echo "<li>".$line."</li>";
    };
};

echo '<ul>';
listformat($my_list_var);
echo '</ul>';
于 2013-11-12T00:53:39.367 に答える
0

最も簡単な方法:

function ln2ul($string) {
  return '<ul><li>' . str_replace("\n", '</li><li>', trim($string)) . '</li></ul>';
}
于 2017-11-16T13:42:47.733 に答える