1

こんにちは、私はこのコードで何かを持っています

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

私が試したのは、テキスト領域に何かを入力し、変更をクリックして結果を確認したときです

944test
944 test

とにかく、最初の結果は良いですが、2番目の結果では、数字と単語の間にスペースがあります。どうしてそうなったのかわかりません。以前に試してみましたが、そのような結果は得られませんでした

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 に答える