php函数将普通换行符放入列表中

时间:2013-11-12 00:52:24

标签: php line

我有一个变量$ boo,其中包含纯文本行(带有奇异的换行符):

B'/ P>

C

我想要一个函数将其格式化为子弹列表。已经拿出以下内容,但不能安静地得到任何输出:

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

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

如果我使用echo代替“return”并删除该功能,它就可以工作。

3 个答案:

答案 0 :(得分: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>';

答案 1 :(得分:0)

您仍然可以保留该功能,但不是echoreturn,而是使用局部变量构建HTML输出并在结尾处返回:

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

现在,您可以在任何地方使用您的函数,并回显返回的值或执行您想要的任何操作:

<?php
echo(listformat($list));
?>

答案 2 :(得分:0)

最简单的方法:

function ln2ul($string) {
  return '<ul><li>' . str_replace("\n", '</li><li>', trim($string)) . '</li></ul>';
}