jQuery を使う
jQuery が使える環境であれば簡単です。
$(`<div>${"タグを含む文字列"}</div>`).text()
とすればタグを取り除けます。
なので、
import $ from 'jquery';
const html = `
<div>
<span>テスト</span>
<div>
<span>何をしているか<a href="https://kuma-emon.com/it/pc/1931/" target="_blank">詳細はこちら</a></span>
</div>
</div>
`;
console.log($(`<div>${html}</div>`).text());
としたときのコンソール出力は
テスト
何をしているか詳細はこちら
となります。
※ img など、更にリソースを取得するタグの場合は、そのリソースの読み込みはされるので、先に別途対処した方が良いかも。
サーバーサイドでやりたいときは
サーバーサイドの場合、jsdom でDOMを用意します。
import { JSDOM } from 'jsdom';
import jquery from 'jquery';
const dom = new JSDOM('<html><body></body></html>');
const $ = jquery(dom.window);
const html = `
<div>
<span>テスト</span>
<div>
<span>何をしているか<a href="https://kuma-emon.com/it/pc/1931/" target="_blank">詳細はこちら</a></span>
</div>
</div>
`;
console.log($(`<div>${html}</div>`).text());
コメント