質問

私は正常に動作するPHPフォームプロセッサスクリプトを使用しています。ユーザーが複数行のテキストフィールドにテキストを送信する場合を除き、任意の改行や新しい行が渡された文字列変数からストリッピングされています。これは、多くの場合、フォームの結果を受け、誰でもすることにより、それが読めなくなります。

私はPHPの専門家だが、答えは文字ストリッピングされたコードであると確信しています。私がわからないのだと、私は文字を取り除くことを停止した場合であるだろう、セキュリティ上のリスクでこの結果?

ストリップアレーは読みます:

array('*', '|', '>', '<', '/', '\\\', '\"', 'Bcc', 'BCC', 'bcc');

私は、改行を保持するために、ここで何を変更することができますか?

任意の助けを事前に感謝します。

役に立ちましたか?

解決

あなたの問題が提出された文字列である場合は、これが提出された文字列は、任意の改行や改行文字が含まれていなかったことを意味します。

テキスト領域の属性|

1つのoccassionで、私は、「(物理ハード)」=ラップを見上げました。この属性のいくつかの値は、ユーザテキストで改行を維持するために、テキストエリアを強制ます。

あなたが提出したテキストにnl2br($テキスト)を使用してみました。

他のヒント

私はあなたがレンダリング段階で問題があると考えています。あなたは試したことがあります:

echo nl2br($text);

$テキストは、あなたが話しているテキストである。

そこは何も改行ストリッピングされません。

それはあなたが改行表示をするために、ディスプレイ側で何もしていない可能性が高いです。あなたはHTMLを出力している、と改行はちょうどより多くの空白であるHTMLに。おそらく、 nl2br() に適用するの恩恵を受けるでしょう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top