このようなスレッドが何千もあるに違いないことはわかっていますが、インターネットとスタックのオーバーフローは他のプログラミング言語からの結果であふれ、単に文字を空白などに置き換えるだけです...
だから...私の問題は次のとおりです...
私は次のフォームを持っています:<input type='text' id='my_input'>
次に、javascript (jquery を使用) のすべてのフィールドを解析して、このように ajax 呼び出しを作成します。
var my_value = $('#my_input').val();
次に、改行を取得するために置換を行いますmy_value = my_value.replace('\n', '<br>');
その後、次のように ajax で変数を投稿します。
data_to_post = 'my_field1=' + my_value1 + 'my_field2' + my_value2;
$.ajax({
type: 'POST',
url: '/write_to_db.php',
data: data_to_post
});
現在、私のサイトの多くの人々がプログラミングについて話し、そのコンテンツが私のサイトを台無しにし始めました。投稿コンテンツが php または html 形式として解析されるためです。サイトのコードを台無しにする可能性のある問題のある文字をすべて置き換えることを計画しています。 .
最も問題のある式は、html タグと &= です。これは、投稿変数をまとめる方法に干渉するためです。
これらの文字はコンテンツに必要なので、単純にすべてを 1 文字に置き換えることはできません。
それらをエスケープする方法はありますか(せいぜい1行のコマンドで)?
ありがとう!
更新:私の一時的な解決策はこれです:
this_string = this_string.replace(/</g, '<');
this_string = this_string.replace(/>/g, '>');
this_string = this_string.replace(/\n/g, '<br>');
this_string = escape(this_string);