1

你好,我在下面的代码中有一些东西

$text =  nl2br($_POST['inputtext']);
foreach(explode("<br />",$text) as $ok){
echo "944".$OK."<BR />";
}

我尝试过的是当我在文本区域中输入内容并单击更改时查看结果

944test
944 test

无论如何,第一个结果很好但是第二个我在数字和单词之间有空格我不知道为什么会发生这种情况我之前尝试过但我没有得到类似的东西

4

2 回答 2

0

可能是它正在查看您的文本并说您有:

test \n
test

然后你爆炸的话,你会得到

"test<br />"
" test<br/>"

这是因为您没有删除第一个单词和回车键或 \n 之间的空格。使用以下内容,它应该适合您:

foreach (explode("<br />", $text) as $ok) {
    echo "944" . ltrim($ok) . "<BR />";
}
于 2013-06-16T02:42:30.803 回答
0

nl2br不会替换换行符<br />,它只是在换行符之前插入它们。现有的换行符可能会给您带来问题。您可能必须编写自己的函数。就像是:

function nl2br2($string) {
  return str_replace(array("\r", "\n", "\r\n"), "<br />", $string);
}

或者,您也可以从结果数组中修剪空间。

foreach (array_map('trim', explode('<br />', nl2br2($text))) as $ok) {
  echo "944". $ok ."<br />";
}
于 2013-06-16T02:43:59.030 回答