wp_kses_hair() WP 1.0.0
Получает список атрибутов html тега (в виде массива) из переданной строки с атрибутами.
Эта функция делает много работы. Кроме того, что она обрабатывает строку и создает из нее массив данных находящихся в ней атрибутов, она дополняет кавычки, если они не указаны в атрибутах. Также, она удаляет неуказанные, а значит запрещенные протоколы (http) из значений атрибута, если это УРЛ. Также, она убирает одинаковые атрибуты, пусть было: foo=bar foo=baz
станет foo="bar"
.
Несмотря на то что функцию относиться к функциям очистки (kses), её удобно можно использовать в плагинах, когда нужно обработать атрибуты тега, такое не редко нужно.
Хуков нет.
Возвращает
Массив. Список полученных атрибутов в виде массива описывающего каждый атрибут. Или пустой массив, если не удалось ничего получить.
Использование
wp_kses_hair( $attr, $allowed_protocols );
- $attr(строка) (обязательный)
- Атрибуты html тега, прям как они указаны в атрибуте. Множественные пробелы игнорируются.
- $allowed_protocols(массив) (обязательный)
- Допустимые протоколы, которые нужно сохранить, если в значениях атрибутов есть УРЛ.
Примеры
#1 Демонстрация работы
$attrs = wp_kses_hair(' src="http://example.com/jpg.jpg" alt="aaaaa" foo=bar', 'http'); /* $attrs будет содержать: Array ( [src] => Array ( [name] => src [value] => http://example.com/jpg.jpg [whole] => src="http://example.com/jpg.jpg" [vless] => n ) [alt] => Array ( [name] => alt [value] => aaaaa [whole] => alt="aaaaa" [vless] => n ) [foo] => Array ( [name] => foo [value] => bar [whole] => foo="bar" [vless] => n ) ) */
#2 Протокол, который отличается от значения атрибута
Если указать протокол, который будет отличаться, то функция просто удалить протокол оставив УРЛ относительным:
$attrs = wp_kses_hair('src=http://example.com/jpg.jpg', 'https'); /* Получим: Array ( [src] => Array ( [name] => src [value] => //site.ru/jpg.jpg [whole] => src="//site.ru/jpg.jpg" [vless] => n ) ) */
Список изменений
С версии 1.0.0 | Введена. |
Код wp_kses_hair() wp kses hair WP 5.6
Cвязанные функции
Из метки: kses (очистка html)
Еще из раздела: Вспомогательные
- __return_empty_array()
- __return_empty_string()
- __return_false()
- __return_null()
- __return_true()
- __return_zero()
- build_query()
- get_page_hierarchy()
- get_temp_dir()
- human_readable_duration()
- is_email()
- is_php_version_compatible()
- is_serialized()
- is_serialized_string()
- is_wp_version_compatible()
- map_deep()
- maybe_serialize()
- maybe_unserialize()
- path_join()
- seems_utf8()
- stripslashes_deep()
- timer_stop()
- urlencode_deep()
- wp_array_slice_assoc()
- wp_basename()
- wp_debug_backtrace_summary()
- wp_doing_ajax()
- wp_extract_urls()
- wp_filter_object_list()
- wp_generate_uuid4()
- wp_html_split()
- wp_is_json_request()
- wp_is_jsonp_request()
- wp_is_numeric_array()
- wp_is_uuid()
- wp_json_encode()
- wp_list_filter()
- wp_list_pluck()
- wp_list_sort()
- wp_make_link_relative()