PHP 函数不返回字符串以及如何删除换行符


php function not returning string and how to remove line breaks

以下php函数的两个问题。

以下函数的一个问题是函数回显函数所在的 $boo 和 $boo 2 变量(即在 1 和 2 被回显之前)。这两个函数在 1 和 2 之前回显。我不确定如何返回调用每个函数的变量,而不会过早地以"return"结束函数。

$boo变量是单换行符或文本段落。

<?php
function listformat ($list) {
    $listformat = explode("'n", $list);
    echo '<ul>';
    foreach ($listformat as $line) {
        echo "<li>".$line."</li>";
    };
    echo '</ul>';
};
listformat($boo);
echo '1';
listformat($boo2);
echo '2';
?>

还想知道当文本行具有 1 个以上的换行符时,我如何删除函数中 $boo 变量的换行符。

编辑:样本$boo是:

BBB BBBB

中交

有时它可能在两者之间或多或少地换行。

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

要删除空格(空格、换行符等),可以使用trim()

$string = "Testing'n";
$new_string = trim($string);
// $new_string is now "Testing"

这在函数开始时有效:

$list = preg_replace("/['r'n]+/", "'n", $list);