1

HTML エンティティ文字を Unicode バージョンに変換する必要があります。たとえば、私が持っているとき&amp、私はちょうど欲しいです&。これには特別な関数がありますか、それとも<-->replace()のカップルごとに関数を使用する必要がありますか?HTML Entity characterUnicode character

前もって感謝します。

4

2 に答える 2

9

Apps Script には DOM がありませんが、次の方法で HTML を解析してプレーン テキストを取得できます。

function getTextFromHtml(html) {
  return getTextFromNode(Xml.parse(html, true).getElement());
}

function getTextFromNode(x) {
  switch(x.toString()) {
    case 'XmlText': return x.toXmlString();
    case 'XmlElement': return x.getNodes().map(getTextFromNode).join('');
    default: return '';
  }
}

呼び出し

getTextFromHtml("hello <div>foo</div>&amp; world <br /><div>bar</div>!");

戻ります

「こんにちは、フー&ワールドバー!」。

説明すると、2 番目のパラメーターが「true」の Xml.parse は、ドキュメントを HTML ページとして解析します。次に、ドキュメントをウォークし (欠落している HTML 要素や BODY 要素などを修正して、有効な XHTML ページに変換します)、テキスト ノードをテキストに変換し、他のすべてのノードを展開します。

于 2012-11-08T16:22:03.130 に答える
-1

Javascript (あなたが使っているものだと思います) には組み込み関数はありませんが、コンテンツを html タグに割り当ててからテキストを読み上げることができます。jQuery を使用した例を次に示します。

function htmlDecode(value){ 
  return $('<div/>').html(value).text(); 
}

タグを実際に DOM にアタッチする必要はないことに注意してください。これは、新しいタグを作成し、その内容を読み取ってから破棄するだけです。ほんの数行を追加するだけで、バニラ Javascript で非常によく似た処理を実行できます。

于 2012-11-08T15:21:02.803 に答える