html-to-textライブラリによるHTMLメールのプレーンテキスト変換
TypeScript
JavaScript
HTMLメールをプレーンテキストに変換する際、html-to-textライブラリのconvert関数を使用することで、改行やHTML構造を適切に保持した変換が可能。
実装のポイント:
- wordwrap: false オプションで自動改行を無効化し、長い行をそのまま保持
- selectorsオプションで<script>と<style>タグをskipし、実際のコンテンツのみを抽出
- エラーハンドリングでは変換失敗時に元のHTMLを返すことでデータ損失を防ぐ
改行の変換パターン:
- <br>タグは改行文字(\n)に変換
- <p>、<div>、<h1>〜<h6>などのブロック要素は前後に改行を挿入
- <li>はリスト項目ごとに改行
- <table>は行ごとに改行
この方法により、HTMLメールの構造を維持しながら、検索インデックスやデータベース保存に適したプレーンテキスト形式に変換できる。