Ответы:
esc_html()
более или менее без потерь - он просто превращает разметку HTML в закодированный видимый текст, чтобы браузер не отображал ее как разметку.
Семантически это побег , поэтому он предназначен для безопасного вывода на страницу .
sanitize_text_field()
однако фактически удаляет всю разметку HTML, а также лишние пробелы. Не оставляет ничего, кроме простого текста.
Семантически это дезинфицирует , поэтому оно предназначено для обеспечения сохранности ввода .
sanitize_text_field()
иstrip_tags