Alle bis auf bestimmte HTML-Tags in PHP durch HTML-Sonderzeichen () ersetzen?

Ich möchte meine Benutzereingaben verarbeiten, um nur bestimmte HTML-Tags zuzulassen und die anderen durch ihre HTML-Entitäten zu ersetzen sowie Nicht-Tag-Zeichen zu ersetzen. Zum Beispiel, wenn ich nur das zulassen wollte<b> und das<a> Tag, dann

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>");

sollte produzieren

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>.

Wie kann ich das in PHP machen? Ich bin mir bewusst, dassstrip_tags() das kannentfernen die unerwünschten tags komplett, und mir ist bewussthtmlspecialchars() was ersetzen kannalle Tags durch ihre HTML-Entitäten, aber keine, bei denen nur bestimmte Tags ersetzt werden. Wie kann das in PHP gemacht werden?

Und wenn es keinen "gemeinsamen" Weg gibt, wie soll ich dann generell mit der Verarbeitung von Benutzereingaben fortfahren, die gültiges reguläres HTML haben können, aber auch< Zeichen und potenziell gefährlicher HTML-Code?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage