2

テキストエリアからの値の表示に問題があります。

ユーザーが新しい行を入力するのと同時にテキストエリアにテキストを入力して(Enterキーを押す)、その後、そのテキストエリアの値を取得して<span>タグに表示したいと考えていました。

ここでの問題は、span タグに新しい行が表示されないことです。何が起こるかわかりません。

たとえば、ユーザーは私のテキスト領域に次のようなタイプを持っています:

Hello World!

How Are you?!

問題は、私の span タグでは改行なしで表示されるため、結果は次のようになることです。

Hello World! How Are you?!

スパンに新しい行を許可するためだけに、WYSIWYG アプリケーションを使用したくありません。これには方法があると思います。

これについて私を案内してください。あなたの助けは大歓迎です!

ありがとう!:)

4

3 に答える 3

6

Textarea の make \n です。必要なのは html に相当するものな<br />ので、この文字列の置換を使用してすべての \n を に置き換える<br />と、ゴールデンになります。

JavaScriptでは、

str = str.replace(/\n/g, '<br />');

phpでは次のようになります

$str = nl2br($str);
于 2012-08-02T05:38:06.443 に答える
2

ブラウザが複数の空白文字と改行文字を1つのスペースに圧縮して戻すのは通常のことです。<br>改行したい場所に要素を挿入するのが通常の方法です。

質問はPHPとJavaScriptの両方でタグ付けされていますが、このタスクでは両方は必要ありません。データベースのデータを表示する場合は、PHPコードで処理するのが最適です。ブラウザで動的なページ更新を行うには、JSを使用します。

PHPnl2br()で、スパンで終わるテキストを準備するときに使用します。

echo nl2br($strWithNewLines);

またはJSで:

var stringWithBrs = strWithNewlines.replace(/\n/g, '<br />')
于 2012-08-02T05:41:01.977 に答える
1

このトリックを試してください。

<pre><span id="wrapContent">
    <?php echo $str; ?>
</span></pre>
于 2012-08-02T05:44:56.917 に答える