テキストからHTMLタグを除去する方法(JavaScript、Python、正規表現)

4 分で読了

HTMLタグの除去は最も一般的なテキスト処理タスクの一つです。CMS出力のクリーニング、Webスクレイピング、テキスト分析の前処理などで必要になります。

JavaScript

// DOMメソッド(最も安全)
function stripHtml(html) {
  const doc = new DOMParser().parseFromString(html, 'text/html');
  return doc.body.textContent || '';
}

// 正規表現メソッド(シンプル)
const text = html.replace(/<[^>]*>/g, '');

Python

from html.parser import HTMLParser
from io import StringIO

class MLStripper(HTMLParser):
    def __init__(self):
        super().__init__()
        self.fed = []
    def handle_data(self, d):
        self.fed.append(d)
    def get_data(self):
        return ''.join(self.fed)

def strip_tags(html):
    s = MLStripper()
    s.feed(html)
    return s.get_data()

# またはシンプルに:
import re
re.sub(r'<[^>]*>', '', html)

オンラインツール

プレーンテキストコンバーターを使えば、HTMLを即座に除去できます。