2009-08-22 4 views
0

より大きいhtmlドキュメント(最初のx文字)のサブセットを表示するRSSフィードを作成すると、「最初のx文字終了タグはその範囲外です。これは、フィードの消費者がフィード内のhtmlをレンダリングしようとしている場合、フィードを表示しているページで予期しないレンダリングの問題が発生する可能性があるという点で、楽しい問題を引き起こす可能性があります。HTMLセグメントに終了タグを強制的に挿入するか、不足している終了タグを無視する

これは、RSSフィードの作者と読者がずっと前に解決した一般的な問題だと思っていますが、フィードのhtmlを解析して不足している終了タグを追加しようとすると、厄介になる可能性があります。どんな提案も高く評価されます。前もって感謝します。

クリス

答えて

0

あなたがPHPを使用している場合は、優れたソリューションがHTMLPurifierです。それはそれをきれいにし、再送信することを完全に安全にします。

+0

申し訳ありませんが、残念ながら、これは.NETプロジェクト用です。技術的にはこれは合いませんが、PHPの他のプロジェクトではこれを覚えています。 –

0

これがあなたのプロジェクトではうまくいくかどうかはわかりませんが、私はこれをFeedDemonでHTML Tidyとしています。

+0

ありがとうございます。これは有望ですね。私はさらに調査した後、返答します。 –

0

大きな文書はどこから来ますか? HTMLが生成される元のテキストがある場合は、の部分文字列を切り捨てて、部分HTMLの処理の問題を処理するよりも、切り捨てられたバージョンからHTMLを再生成する方が簡単です。これをすべて正しく行うには、基本的に、HTMLを再解析して、もう一度シリアル化する必要があります。

RSS内のHTMLは、とにかく面倒です。すべてのタグを取り除き、残されたものについて簡単なテキスト切り捨てをする方がよいかもしれません。

+0

大きなドキュメントは、YUIリッチテキストエディタからのユーザー入力テキストから得られます。多くの場合、このテキストにHTML書式が含まれます。 –

+0

これは残念です。一般的なHTMLを処理することは、特にセキュリティを気にすることは非常に難しいです。おそらく完全なHTMLパーサを取得し、入力をDOMなどのオブジェクトツリーに変換してから、再シリアル化する前にビットを切り捨てる必要があります。 – bobince

+0

(これは、本質的には、内部的に行うものです。 – bobince

関連する問題