JavaScriptで文字列からHTMLタグを削除する方法


function stripHtmlTags(input) {
  return input.replace(/<[^>]*>/g, '');
}
var htmlString = '<p>Hello, <strong>world</strong>!</p>';
var strippedString = stripHtmlTags(htmlString);
console.log(strippedString); // 'Hello, world!'

この方法では、<[^>]*>という正規表現パターンを使用して、<で始まり>で終わる文字列(HTMLタグ)を全て空文字列に置換しています。

function stripHtmlTags(input) {
  var div = document.createElement('div');
  div.innerHTML = input;
  return div.textContent || div.innerText || '';
}
var htmlString = '<p>Hello, <strong>world</strong>!</p>';
var strippedString = stripHtmlTags(htmlString);
console.log(strippedString); // 'Hello, world!'

この方法では、与えられたHTML文字列をDOM要素として解釈し、その要素のtextContentまたはinnerTextを取得しています。これにより、HTMLタグが削除されたプレーンテキストが取得できます。

function stripHtmlTags(input) {
  var $temp = $('<div>');
  $temp.html(input);
  return $temp.text();
}
var htmlString = '<p>Hello, <strong>world</strong>!</p>';
var strippedString = stripHtmlTags(htmlString);
console.log(strippedString); // 'Hello, world!'

この方法では、jQueryの$('<div>')を使用して一時的なDOM要素を作成し、その要素にHTML文字列を設定します。そして、text()メソッドを使用してHTMLタグを削除したテキストを取得します。

これらはいくつかの一般的な方法ですが、他にもさまざまなアプローチがあります。選択した方法によっては、特定のシナリオでのパフォーマンスの違いがあるかもしれません。