2017-04-05 12 views
0

私はWeb開発が比較的新しいです。私は単純なテキスト入力とHTMLの送信ボタンがあります。phpのテキスト入力からCRLFを取得する

<div> 
<input type="text" name="sender" id="sender" class="form-control" placeholder="" /> 
<input type="submit" class="btn-u btn-u-small" name="send" value="Send email" /> 
</div> 

私はechoそれをPHPでのテキスト入力の値を取得します。

<?php 
if(isset($_POST["send"])) 
{ 
    echo $_POST["sender"] . " \r\nThis was a test"; 
} 
?> 

今私は、テキスト入力に\r\nUser input入力します。

echo "\r\rUser input." . " \r\nThis was a test." 

と表示されたときに、次のようになります:それはであり、唯一の二\r\nCRLFとして解釈されるよう

User input. This was a test. 

代わりに最初の\r\nプリント私が見えるようにechoコマンドを意図しています。

\r\nUser input. This was a test. 

私は'\r\n' "\r\n" \\r\\nを試しましたが、動作していないようです。

注:私は実際の改行をhtmlにしたくありません。私はhtml改行では<br />であることを知っています。私はPHPの文字列で改行したい。

+0

「echo nl2br( "ユーザー入力。\ nこれはテストでした。 (ここにある:[http://stackoverflow.com/questions/12994769/how-to-add-a-line-break-within-echo-in-php](http://stackoverflow.com/questions/12994769/)どのようにして-a-line-break-in-echo-in-php)) – danny

+0

@dannyこのコードはphp mail()の脆弱性を示すサンプルプログラムの一部です。コードに何も追加できません。私はhtmlテキスト入力で値を入力することによってのみそれと対話することができます。 – zindarod

+0

いいえ、HTMLエンティティはどうですか?例えば' 'は改行ですか? – danny

答えて

1

ブラウザは、テキストフィールドに入力したすべてをフィルタリング/エンコード/サニタイズするので、ブラウザでCRLFを生成する方法を見つける必要があります。

一つの方法は、に次のようになります。Firefoxの

  • TamperData
  • は、例えば、あなたが送ったテキストを変更するためにそれを使用する拡張機能をインストール使用

    • %0D%0Aを 先頭に挿入します。これはURLでエンコードされたバージョンの\ r \ nです。
  • 関連する問題