これだけでは十分ではありません... エンド ユーザーが編集できるようにするページに埋め込む HTML は、HTML エンコードする必要があります。それ以外の場合は、サニタイズする必要があります。
詳細については、Owasp サイトを参照してください。
編集:あなたのコメントに応えて、私は100%確信が持てません. 注意しないと、場合によっては二重エンコードが発生するようです。
https://www.owasp.org/index.php/Double_Encoding
たとえば、そのページの次の文字列は、「<」文字を隠すエクスプロイトを示していると想定されています。
%253Cscript%253Ealert('XSS')%253C%252Fscript%253E
また、次の表に示すように、HTML では文字 "<" をさまざまな方法でエンコードできます。
https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet#Character_escape_sequences
私にとって、それは注意すべきことです - 理解するのが難しい悪用可能なケースがあるかもしれないという事実は、あなたを開いたままにするかもしれません.
元の質問に戻りますが、「<」文字を含まない HTML としてレンダリングされる HTML の例を教えてください。ユーザーが使用できるようにする HTML を「id」で理解しようとしています。
また、サイトが小規模で、サイトの一部 (特にページでの JavaScript の使用方法) を書き換える可能性がある場合は、コンテンツ セキュリティ ポリシーを使用してユーザーを XSS から保護することを検討できます。これは、ほとんどの最新のブラウザーで機能し、この手順を実行すると、多くのユーザーを XSS 攻撃から保護できます。