заменить все, кроме определенных тегов HTML с htmlspecialchars () в PHP?

Я хотел бы обработать мой пользовательский ввод, чтобы разрешить только определенные HTML-теги, и заменить другие их HTML-сущностями, а также заменить не-теги-символы. Например, если бы я только хотел разрешить<b> и<a> тег, затем

allow_only("This is <b>bold</b> and this is <i>italic</i>.
            Moreover 2<3 and <a href='google.com'>this is a link</a>.","<b><a>");

должен производить

This is <b>bold</b> and this is &lt;i&gt;italic&lt;/i&gt;.
Moreover 2&lt;3 and <a href='google.com'>this is a link</a>.

Как я могу сделать это в PHP? Я в курсеstrip_tags() это можетУдалить нежелательные теги полностью, и я в курсеhtmlspecialchars() который может заменитьвсе теги их сущностями html, но ни один, где только определенные теги заменяются. Как это можно сделать в PHP?

И если нет «общего» способа сделать это, как я должен вообще продолжать обрабатывать пользовательский ввод, который может иметь действительный регулярный HTML, но также может иметь< признаки и потенциально опасный HTML-код?

Ответы на вопрос(1)

Ваш ответ на вопрос