問題タブ [nl2br]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
830 参照

php - テキストエリア入力を改行で安全に保存し、改行を保持する

ユーザーが送信したプレゼンテーションを TEXT フィールドとしてデータベースに保存する際に問題があります。HTML は一切許可しません、改行は保持する必要があります。

たとえば、ユーザーがテキストエリアを入力メソッドとして使用して、フォームから次のようなプレゼンテーションを送信した場合:

これが1行目

これが 3 行目
これが 4 行目

それはまさにそのように出力され、プロセス内の HTML からの入力を消去します。

ストアド プロシージャ:

フェッチ後に出力するには:

データベースには次のように保存されます。

ページには次のように表示されます。

私が望むのは、改行が保存され、HTML が削除され、データベースに安全に保存された状態で、ユーザーが送信したとおりにプレゼンテーションを表示することです。

strip_tags、stripcslashes などを試しましたが、まだ機能しません。

助けてくれる人はいますか?

前もって感謝します。

0 投票する
2 に答える
215 参照

php - PHPエコーに改行を追加する方法

私のデータベースのストーリーコンテンツのテキストは次のとおりです。

I want to add\r\nnew line

(引用なし)

私が使用する場合:

を に置き換える\r\nbr、機能しません。ブラウザにはまだ表示されます\r\n。ソースを表示すると、\r\nまだそこにあり、brどこにも見つかりません。nl2br次のような単純なコードで関数をテストすると、これは奇妙です。

それは機能します。うまくいかなかった理由を教えてください。どうもありがとう。

0 投票する
0 に答える
123 参照

php - $_SESSION を使用してテキストエリアに \r\n\ を表示しています

たとえば、このテキストを送信して $SESSION に入れると:

1
号線 2号線

このテキストをテキストエリアに再度表示しようとすると、テキストは次のようになります。

ライン 1\r\n\ライン 2

私のコードは: (テキストエリア)

私のPHP(テキストエリアを送信する):

私の PHP (セッションを変数に入れます: $corpo)

replace または str_replace を使用しようとしましたが、何も機能しません。

誰かが私を助けることができますか?

0 投票する
1 に答える
447 参照

php - でテキストを表示
または nl2br()?

考えてみると、なぜタグを使用する代わりに関数 nl2br() を使用する必要があるの<pre></pre>でしょうか?

ありがとう。

0 投票する
1 に答える
97 参照

php - 「\r\n」と表示される PHP メールの改行

私は標準のhtmlフォームを持っています:

送信すると、次の PHP を使用して電子メールで送信されます。

これでメールは問題なく送信されますが、元のメッセージの新しい行は "\r\n" として出力されます。

たとえば、ユーザーはフォームに次のように入力します。

これ

a

テスト。

しかし、メールで配信されるものは次のとおりです。

この\r\n\r\nis\r\n\r\na\r\n\r\nテスト。

nl2brPHPコードの複数の場所で使用しようとしましたが、何もうまくいきません。電子メールはプレーンテキストとして送信されているため、<br>とにかく機能しません。今のところは保持したいのですがmysql_escape_string、元のメッセージのキャリッジ リターンも保持します。

0 投票する
5 に答える
31250 参照

blade - Laravel 5 Bladeでnl2br()を使用するにはどうすればよいですか

したがって、Blade Template Engine を使用している間、データベースから改行を保持したいと考えています。を使ってアイデアを思いついた

できます。しかし、それは不必要に複雑なソリューションのように見えます。より良い方法はありますか?

0 投票する
2 に答える
1767 参照

css - bbcodeで改行をどのように処理する必要がありますか?

PECL bbcode 拡張機能を使用して、フォーラムで使用できる一連のタグを定義しています。http://www.bbcode.orgで説明されているほとんどすべてのタグを実装しました。

フォーラム ユーザーは、入力フィールドに新しい行を入力すると、投稿にも新しい行が入力されることを期待するようになりました。私はこれを実現しようとしています。

nl2br()方法_

nl2br()<br />ユーザーが改行を入力したときにブラウザーに改行を取得させるのに最適です.改行を見つけてそこにタグをスローし、ブラウザーにも改行を取得させます. しかし、これはより複雑なマークアップのいくつかにレンチを投げかけます。

例えば:

結果は

どこでも空白をスローします。同じ理由で、テーブルにも同様の問題があります。さらに、実際に空白を表示するタグ (例: <pre><code>code goes here</code></pre>) はダブルスペースになります。イッキー。

CSSのやり方

CSS にはwhite-space、このような状況で役立つルールがあります。すべてのフォーラム投稿を要素内に配置し.bbcode、スタイルシート ルールのみを含めるとします。

ブラウザは改行を保持し、他の空白を折りたたみ、単語をラップします。これはかなり理想的に聞こえます。ただし、リスト項目などでは、ブラウザが各</li>.

以下を定義することで、これを回避できます。

これにより、リストとテーブルの問題が軽減されます。ただし、現在、改行は投稿のルート要素にのみ表示されるため、テーブルセルなどで改行を使用しても機能しません。

どのように私はこれを行うのですか?仕方

本当に私が望むのは、次の 2 つの効果の組み合わせです。

  • ソースがすべてのタグの外側に改行を入れると、ブラウザは改行を取ります
  • ブロックレベルまたは構造タグを閉じたり開いたりした直後ではないソースが改行を取ると、ブラウザーは改行を取ります

[li]some\ntext[/li]理想的に言えば、結果は 2 行、[li]sometext[/li]\n1 行のみ、2 行になるべきだと思います[i]sometext[/i]\n

このようなことはどのように行われますか?むしろ、bbcode を使用するフォーラムで人々は通常何をしますか? おそらく、 a を挿入する必要があるすべてのケースを定義する関数を作成できます。これは、<br />多くの車輪を再発明したことの匂いが強くします。