HTMLテキストをプレーンテキストに変換する3つの方法
6309 ワード
私は先日リッチテキストエディタで働いていて、HTMLタグを文字列から取り除き、データベースに格納する必要がありました.そして、私がこれをしようとしている誰にでも便利になることができたということを学んだいくつかの方法が、ここにあります.
しようとしているのは、文字列からタグを削除し、文字列をプレーンテキストとして印字可能にすることです.飛び込みましょう.
1 )使用.置換(/[^^]]*/g ,')
このメソッドは、テキストからタグを削除する簡単で効率的な方法です.このメソッドは
このメソッドの欠点は、いくつかのHTMLエンティティを削除できないことです.それでもうまく機能します.
2 )一時的なDOM要素を作成し、テキストを取得する
これはタスクを行う最も効率的な方法です.ダミー要素を作成し、変数に代入します.要素オブジェクトを使用して後で展開できます.HTML要素のinnerhtmlにHTMLテキストを割り当て、テキスト要素オブジェクトからプレーンテキストを取得します.
3 )テキストnpmパッケージへのHTML
これは最近発見したパッケージです.これはHTMLを解析し、美しいテキストを返すコンバータです.これは多くのオプションがプレーンテキストに変換するようになります
パッケージ.パッケージの使用にはJSONが必要です.パッケージを最初にインストールし、それをファイルに使用する必要があります.
パッケージの公式docを見つけることができますhere .
インストール
用途
そして、それはそれを合計します.ありがとう!
しようとしているのは、文字列からタグを削除し、文字列をプレーンテキストとして印字可能にすることです.飛び込みましょう.
1 )使用.置換(/[^^]]*/g ,')
このメソッドは、テキストからタグを削除する簡単で効率的な方法です.このメソッドは
.replace(old value,new value)
HTMLタグの値を空の文字列に置き換えます.The /g
がグローバルに発生するために使用される(文字列中のすべての値は、/g
を用いる).このメソッドの欠点は、いくつかのHTMLエンティティを削除できないことです.それでもうまく機能します.
var myHTML= "<div><h1>Jimbo.</h1>\n<p>That's what she said</p></div>";
var strippedHtml = myHTML.replace(/<[^>]+>/g, '');
// Jimbo.
// That's what she said
console.log(stripedHtml);
2 )一時的なDOM要素を作成し、テキストを取得する
これはタスクを行う最も効率的な方法です.ダミー要素を作成し、変数に代入します.要素オブジェクトを使用して後で展開できます.HTML要素のinnerhtmlにHTMLテキストを割り当て、テキスト要素オブジェクトからプレーンテキストを取得します.
function convertToPlain(html){
// Create a new div element
var tempDivElement = document.createElement("div");
// Set the HTML content with the given value
tempDivElement.innerHTML = html;
// Retrieve the text property of the element
return tempDivElement.textContent || tempDivElement.innerText || "";
}
var htmlString= "<div><h1>Bears Beets Battlestar Galactica </h1>\n<p>Quote by Dwight Schrute</p></div>";
console.log(convertToPlain(htmlString));
// Expected Result:
// Bears Beets Battlestar Galactica
// Quote by Dwight Schrute
3 )テキストnpmパッケージへのHTML
これは最近発見したパッケージです.これはHTMLを解析し、美しいテキストを返すコンバータです.これは多くのオプションがプレーンテキストに変換するようになります
wordwrap
, tags
, whitespaceCharacters
, formattersetc
.パッケージ.パッケージの使用にはJSONが必要です.パッケージを最初にインストールし、それをファイルに使用する必要があります.
パッケージの公式docを見つけることができますhere .
インストール
npm install html-to-text
用途
const { htmlToText } = require('html-to-text');
const text = htmlToText('<div>Nope Its not Ashton Kutcher. It is Kevin Malone. <p>Equally Smart and equally handsome</p></div>', {
wordwrap: 130
});
console.log(text); // expected result:
// Nope Its not Ashton Kutcher. It is Kevin Malone.
// Equally Smart and equally handsome
プロジェクトの例を見つけるhere .そして、それはそれを合計します.ありがとう!
Reference
この問題について(HTMLテキストをプレーンテキストに変換する3つの方法), 我々は、より多くの情報をここで見つけました https://dev.to/sanchithasr/3-ways-to-convert-html-text-to-plain-text-52l8テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol