sanitize_textarea_field() WP 4.7.0

Очищає рядок, що передається з поля textarea (при збереженні в базу даних) або при отриманні з БД.

Ця функція робить все те саме, що і sanitize_text_field() , тільки залишає переноси рядків ( n ), пробіли та інші символи, які можна використовувати в полі textarea.

Видаляє всі HTML символи, табуляції, HTML сутності та ін. Залишає чистий текст. Функція робить все, щоб значення поля textarea можна було безпечно використовувати при збереженні.

Що робить функція:
  1. Конвертує одиночний знак <у HTML суть.
  2. Видалять усі теги.
  3. Видаляє прогалини на кінцях рядка.
  4. Видаляє октети: %[a-f0-9]{2}.
  5. Перевіряє помилки у кодуванні UTF-8.

На відміну від esc_textarea()

esc_textarea() призначена для очищення рядка перед виведенням її на екран у полі textarea. А ця функція призначена для очищення рядка, що передається перед збереженням її в БД, у випадках коли в рядку не повинно бути HTML тегів.

Працює на основі:
_sanitize_text_fields()
1 раз – 0.000098 сек
(дуже швидко) | 50000 разів – 1.17 сек
(швидко) |
PHP 7.1.2, WP 4.7.3

Хуки з функції

Повертає

Строку.

Використання

sanitize_textarea_field( $str );
$str
(рядок) (обов’язковий)
Рядок, який потрібно очистити.

Приклади

0

#1 Демонстрація роботи

$text = 'Перевіримо, як</em>
очищається > рядок < <br>. ';

$text = sanitize_textarea_field( $text );

var_dump($text);

/*
string(80) "Перевіримо, як
очищається > рядок < ."
*/

var_dump( sanitize_text_field( " 비트 코인 | 比特币 " ) ); // string(30) "비트코인 | 比特币"

нотатки

список змін

З версії 4.7.0Введено.

Код sanitize_textarea_field() WP 6.0.2

function sanitize_textarea_field( $str ) {
	$filtered = _sanitize_text_fields( $str, true );

	/**
	 * Filters a sanitized textarea field string.
	 *
	 * @ Since 4.7.0
	 *
	 * @param string $filtered The sanitized string.
	 * @param string $str string prior to being sanitized.
	 */
	return apply_filters( 'sanitize_textarea_field', $filtered, $str );
}