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>как</em>
очищается > строка    <    <br>. ';

$text = sanitize_textarea_field( $text );

var_dump( $text );

/*
string(80) "Проверим, как
очищается > строка    &lt;    ."
*/

var_dump( sanitize_text_field( "ビットコイン | 比特币" ) ); // string(30) "ビットコイン | 比特币"

Заметки

Список изменений

С версии 4.7.0 Введена.

Код sanitize_textarea_field() WP 6.5.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      The string prior to being sanitized.
	 */
	return apply_filters( 'sanitize_textarea_field', $filtered, $str );
}