htmllaundryパッケージには、クリーンアップのHTMLマークアップには、いくつかの便利なPythonのメソッドが含まれているか、または他の一般的な変更を行う クリーンアップは、MS WordやAppleのページから貼り付けたHTMLをクリーンアップすることができるように十分に厳格です。このパッケージには、自動的に保存時にHTMLをサニタイズのフィールドを提供するz3c.formための統合コードが含まれています。
実装は、lxmlのからクリーナークラスに基づいています。
クリーンアップ·ルーチン
すべてのクリーンアップ·ルーチンは、単一のサニタイズ機能を介して呼び出すことができます。この関数は、入力として入力された文字列を受け取り、その文字列のクリーンアップバージョンを返します。ここでは簡単な例です:
>>> htmllaundry輸入サニタイズから
>>>サニタイズ( 'こんにちは、の世界の')
'
こんにちは、の世界の
'サニタイズ方法が異なるフィルタリングルールを使用するために使用することができlxmlのクリーナーインスタンスで追加のオプションパラメータを取ります。 htmllaundryは3クリーナーが含まれています。
 デフォルトのクリーナーです* htmllaundry.cleaners.DocumentCleaner、。インラインスタイルと安全でないマークアップを除去しながら、このクリーナーは、最も安全なタグを許可します。
  * htmllaundry.cleaners.LineCleanerはわずか数インライン要素を可能にし、より厳格なクリーナーです。これは、あなただけの文書のタイトルで、例えば、一行の入力を受け付けるようにしたい場所に便利です。
  * htmllaundry.cleaners.CommentCleanerは、HTML要素の非常に限られたセットを可能にし、ユーザが提供したコメントのために有用であるように設計されています。
あなたはすべての道を行くしたい場合は、あなたの入力からすべてのマークアップを除去するStripMarkupを使用することができます。
>>> htmllaundry輸入StripMarkupから
>>> StripMarkup( 'こんにちは、の世界の')
'こんにちは世界'
z3c.form統合
あなたがz3c.form統合を使用したい場合は、このパッケージのz3cformの余分を使用する必要があります。
install_requires = [
  ....
  htmllaundry [z3cform]
  ...
 ]、
また、あなたはZCMLをロードする必要があります。あなたのconfigure.zcmlではこのような行を追加します。
パッケージ= "htmllaundry」を含みます>
次に、あなたのスキーマでは、htmlTextフィールドタイプを使用することができます。例えば:
zope.interfaceインポートインタフェースから
Zopeのインポートスキーマから
htmllaundry.z3cformインポートは、htmlTextから
クラスてIDocument(インタフェース):
 タイトル= schema.TextLine(
 タイトル= _(U「タイトル」)、
  =真必須)
 説明=は、htmlText(
 タイトル= _(U "説明")、
  =真必須)
ます。
別のラップ要素を指定するか、完全にラップスキップするサニタイズするためのオプションを追加します。は、htmlTextを使用すると、自動的にあなたのWYSYWIGウィジェットを与えないことを
このリリースの新機能であることに注意してください。
このバージョン1.9の新機能です:
この転覆から作られていないリリースをfaciliateするMANIFEST.inを追加します。
JavaScriptを取り除くために、すべてのクリーナーを修正しました。これは、問題1を解決します。
このバージョン1.8の新機能です:
このサニタイズからハードコードコードパスからリンク先の施行を削除します。これは、新しいlink_targetクリーナーオプションを使用することができます。
このバージョン1.7の新機能です:
このクリーナーで新しいlink_targetオプションで設定可能なリンケ外観の属性ターゲットの強制します。のみCommentCleanerでこのオプションを有効にしてください。
このバージョン1.6の新機能である。同様に裸のテキストをラップするための
この正しい空白テスト。
この小さなコードのクリーンアップ:
このバージョン1.4の新機能です。
先頭のブレークを取り除きます。
このバージョン1.3の新機能です:
このすべてのトップレベルのBR要素をはがし。ブレークはblocklevel要素に細かいですが、ブロック要素間の垂直間隔を追加するために使用すべきではありません。
このバージョン1.2の新機能です:
このドキュメントの誤植を修正しました。
末尾の改行を削除。
この要件:
このパイソン
コメントが見つかりません