sanitize_textarea_field() の使い方|説明・引数・注意点

説明

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

コメント

タイトルとURLをコピーしました