sanitize_text_field()

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Функция sanitize_text_field() очищает переданную в неё строку следующим образом:

sanitize_text_field( $str )
$str
(строка) Строка, которую нужно очистить.

Пример использования sanitize_text_field()

Тут я решил сделать один пример с различным вариантами использования функции.

// очищаем HTML-теги
$text = '<h2>Какой-то заголовок</h2>';
echo sanitize_text_field( $str ); // Какой-то заголовок
 
// очищаем переносы строк (а точнее заменяем пробелами)
$str = 'строка 1
строка 2';
echo sanitize_text_field( $str ); // строка 1 строка 2
 
// эммоджи
$str = 'Эмоджи никуда не исчезнут 🔥🦕🦖';
echo sanitize_text_field( $str ); // Эмоджи никуда не исчезнут 🔥🦕🦖
 
// передаём в функцию целое числовое значения
echo sanitize_text_field( 50 ); // строка 50
 
// как очищаются октеты и что это вообще
$str = 'https://misha.agency/' . urlencode( 'контакты' ); // https://misha.agency/%D0%BA%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82%D1%8B
echo sanitize_text_field( $str ); // https://misha.agency/
 
// массив
$array = array( 'author' => 'Миша', 'author_uri' => 'https://misha.agency' );
echo sanitize_text_field( $array ); // пустая строка
 
// json
$array = array( 'author' => 'Миша', 'author_uri' => 'https://misha.agency' );
$str = json_encode( $array ); // {"author":"u041cu0438u0448u0430","author_uri":"https://misha.agency"}
echo sanitize_text_field( $str ); // {"author":"u041cu0438u0448u0430","author_uri":"https://misha.agency"}
 
// также для массивов подойдёт функция array_map()
$array = array( 'author' => '<cite>Миша</cite>' );
print_r( array_map( 'sanitize_text_field', $array ) ); // Array( [author] => Миша )

Фильтр sanitize_text_field

Перед тем, как возвратить итоговое значение, функция применяет к нему фильтр sanitize_text_field, что позволяет нам добавить дополнительную очистку или наоборот удалить.

add_filter( 'sanitize_text_field', 'true_additional_sanitization' );
 
function true_additional_sanitization( $filtered, $str ) {
	// $str – оригинальная строка без очистки
	// $filtered - очищенное значение 
 
	// ... делаем что-то дополнительно
 
	return $filtered; // возвращаем результат
}
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии