説明
sanitize_textarea_field() は、改行を残したまま、HTMLタグなどを取り除く関数です。複数行の入力の保存前に使います。
基本構文
sanitize_textarea_field( string $str ): string
引数
$str:処理する文字列
戻り値
サニタイズ済みの文字列。
使い方(サンプル)
$msg = sanitize_textarea_field( $input );
注意点
- 改行は保持されます。
実務での使いどころ
- 複数行のテキスト入力(メモ、本文など)を、保存する前に整えるとき。
よくあるミスと対処
- 1行のテキストにも、これを使っている。1行の入力には、
sanitize_text_field()で足りる。 - HTMLを許可したい値に使っている。タグが、すべて取り除かれる。
$_POSTの値を、wp_unslash()せずに渡している。
NG例
$memo = sanitize_text_field( $_POST['memo'] ); // 改行が失われる
OK例
$memo = sanitize_textarea_field( wp_unslash( $_POST['memo'] ) );
使い分け早見表
| 入力 | 使う関数 |
|---|---|
| 複数行のテキスト | sanitize_textarea_field() |
| 1行のテキスト | sanitize_text_field() |
| HTMLを含む入力 | wp_kses_post() |
関連項目
sanitize_text_field()、wp_kses_post()
公式リファレンス:sanitize_textarea_field() | Function | WordPress Developer Resources

コメント