1

HTMLメールを考えると、私は以下を使用してテキストだけに分解しています。

  body = body.gsub(/\\r\\n?/, "\n");
  body = body.gsub(/\\n\\n?/, "\n");
  body = simple_format(body)
  body = strip_tags(body)

しかし、私は今、1つのタグがこれを通過するのを見ています:

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">

そのような出力:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

なぜ何かアイデアはありますか?

4

3 に答える 3

1

非推奨になっているように見えるstrip_tagsは、doctypeステートメントをタグでもコメントでもないと見なしていると思います。あなたはそれを別々に取り除くことができます:

string.gsub(/ <!。*?$ /、'')

于 2011-03-24T19:17:42.210 に答える
1

私はHpricotをテキストに使用することになりました、うまくいきました

于 2011-03-24T19:20:33.190 に答える
1

解析のニーズにはNokogiriを使用することをお勧めします。非常によくサポートされており、非常に高速で、非常に柔軟で、他の多くの HTML/XML タイプの gem の基礎となっています。Hpricot モードがありますが、構文がよりフル機能であるため、なぜそれが必要なのかはわかりません。

特に、HTML からタグを削除するには、 Loofahを調べることをお勧めします。タグをホワイトリストに登録でき、実行できるクレンジングのレイヤーがいくつかあります。

于 2011-03-25T04:02:29.473 に答える