これにはいくつかの方法があります。あなたが選んだのは、使用しているライブラリ(StackOverflowで特定のツールが話題になっていないことを示唆している)と、あなたが探している動作がまったく異なることです。以下の各アプローチの概要を見つけることができます。
Markdownパーサーを変更します。
一部のパーサーでは、動作を変更できるようにするAPIが用意されています。おそらく、テーブル、ヘッダーなどを解析し、残りの部分をそのまま残すビットと部分を削除することができます。最終的な出力は、それらのフィーチャのMarkdown構文をそのまま残します。たとえば、著者がヘッダーを入力すると、ハッシュで始まる段落が得られます。
カスタムレンダラーを作成します。
一部のMarkdownパーサーは2つのステップで動作します。ステップ1で、パーサーはMarkdownテキストを取り、抽象構文ツリー(AST)を出力し、ステップ2でレンダラーはASTを受け入れてHTMLを出力します。既定のレンダラーを変更するか、必要に応じて各要素を処理するカスタムレンダラーを作成することができます。たとえば、ヘッダーレンダラーメソッドに(ヘッダーではなく)段落を出力するように指示し、その段落に元のハッシュが含まれるかどうかを選択できます。
HTMLサニタイザーを使用します。
選択したMarkdownパーサーを使用して、テキストを渡して、そのまま出力します。その後、HTML出力をHTMLサニタイザに渡します。これにより、ホワイトリストにないタグは除外されます。このシナリオでは、ヘッダーをヘッダーに使用するというヒントはありません。最終的な出力では、単純に通常の段落のように見えます。
一般に、これはHTMLサニタイザで実現されます。フル装備のMarkdownパーサを使用して、ホワイトリストにないHTMLタグをすべて取り除くHTMLサニタイザで出力を渡します。 – Waylan
@Waylan、あなたは答えとしてあなたのコメントを追加することができます。 –
@ Hal9k私はいくつかの異なるアプローチを示唆する答えを追加しました。 – Waylan