私はesc_textareaの代わりにメタボックス内のテキストエリアで使用するための代替関数が必要です。
問題は、textareaでこの関数を使用すると、改行や段落が削除されることです。改行や段落を維持する代替機能はありますか。
私はCodexの検証のリファレンスページを試してみましたが、機能を見つけることができませんでした。
esc_textarea
は改行を削除するべきではありません - htmlspecialchars
のまわりの薄いラッパーです: http://core.trac.wordpress.org/browser/tags/3.3.2/wp-includes/formatting。 php#L2536
<?php
function esc_textarea( $text ) {
$safe_text = htmlspecialchars( $text, ENT_QUOTES );
return apply_filters( 'esc_textarea', $safe_text, $text );
}
とは言っても、選択肢はたくさんあります。あなたはあなたのユーザーに何を投稿する能力を持たせたいですか? esc_html
は、すべての特殊文字をエスケープします(esc_textarea
と同様)。 esc_attr(strip_tags($stuff));
は私のお気に入りの組み合わせです。
コーデックスの データ検証 ページもご覧ください。
遅れてすみませんが、これが私が使った解決策でした。フィードバックをお寄せいただきありがとうございます。
$value = esc_html($value);
$value = html_entity_decode($value);
このように、esc_textarea
の前に wpautop
を使用できると思います。
echo esc_textarea( wpautop( $value ) );