私のサイトにはWMDエディターがあり、マークダウンをDBに保存しています。しかし、データベースにマークダウンを送信する前に、次のようにmysql_real_escape_stringでフィルタリングします。
$to_database = mysql_real_escape_string($_POST['markdown']);
そしてそれは大丈夫です。しかし、今はそれを表示したいので、PHP Markdown(マークダウンをhtmlに変換する)を使用します。しかし、問題は、新しい行の代わりに\ r\nと\nが表示されることです。nl2br関数を試しましたが、役に立ちませんでした。出力をエスケープしなくても(マークダウンをhtmlに変換せず、htmlpurifierを使用しないでください)、新しい行の代わりに\nを取得します。mysql_real_escape_stringを削除した場合にのみ、問題なく表示されます。
bbbbbbbbbbb nnnnnnnnn