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