Я использовал только wp_ksesтогда, когда мне нужно было разрешить / отфильтровать атрибуты тегов HTML (например, я хочу, чтобы им было разрешено иметь <image>тег с src=""атрибутом, но я не хочу, чтобы они могли, но href=""или style=""или что-то еще в теге image. В этом случае это wp_ksesпригодится, потому что (как вы можете видеть из созданного вами примера) вы можете фильтровать очень специфично. Я редко использовал wp_ksesхотя бы потому, что просто нашел пару нативных PHP Функции (ниже) делают свое дело и их легче понять, когда я смотрю на код несколько месяцев спустя.
Если вы хотите полностью удалить теги HTML (за исключением, может быть, разрешить несколько), я всегда использую strip_tags. Вы можете передать строку разрешенных тегов (например <p> <br> <strong>) или любые другие безопасные теги, которые вам нравятся. Это позволяет пользователю быть в состоянии иметь некоторый контроль над форматированием, если это применимо для вашего использования. Мне нравится, strip_tagsпотому что для очистки ваших данных требуется белый список . (Это означает, что все будет удалено, кроме того, что вы явно белый список).
Если ваша цель состоит в том, чтобы позволить им вставлять любой HTML-код в контент, но вы просто хотите показать их текст в том виде, в каком они были введены (например, примеры кода), используйте htmlspecialchars. Это преобразует символы HTML в их закодированные аналоги, чтобы вы могли безопасно выводить их на страницу.
Вы можете встретить код, использующий str_replaceкоторый «ищет» плохие теги, такие как или что угодно. Я действительно не рекомендую такой подход, потому что он использует черный список для очистки данных, и вы должны постоянно следить за актуальностью своего черного списка.
Полагаю, это зависит от того, для чего используются ваши метабоксы. Если вы защищаете от ввода со стороны пользователей (которые могут быть вредоносными), я бы порекомендовал strip_tagsи просто разрешил некоторые из безопасных тегов. Если у вас есть хороший бизнес дело действительно микроуровень теги и определенные атрибуты контента пользователя, use wp_kses.