[解決済み] PythonでHTMLをエスケープする最も簡単な方法は何ですか?
2022-04-27 12:49:54
質問
cgi.escapeは一つの選択肢のような気がします。 これはうまく機能するのでしょうか? もっと良いものがあるのでしょうか?
解決方法は?
cgi.escape
は大丈夫です。エスケープされます。
-
<
へ<
-
>
から>
-
&
から&
これですべてのHTMLが揃いました。
編集: もし、ASCII文字以外の文字をエスケープして、別のエンコーディングの文書に含める場合は、例えば、次のようにします。 クレイグ を使えばいいんです。
data.encode('ascii', 'xmlcharrefreplace')
をデコードすることを忘れないでください。
data
を
unicode
を、それがどのようなエンコーディングであったとしても、最初に使用します。
しかし、私の経験では、この種のエンコーディングは、単に
unicode
は最初からずっと ただ、最後にドキュメントヘッダで指定されたエンコーディングにエンコードする (
utf-8
互換性を最大にするため)
例
>>> cgi.escape(u'<a>bá</a>').encode('ascii', 'xmlcharrefreplace')
'<a>bá</a>
また、特筆すべきは、(Gregに感謝)追加された
quote
パラメータ
cgi.escape
を取ります。これを設定すると
True
,
cgi.escape
は、ダブルクォート文字 (
"
というように、XML/HTMLの属性で使用することができます。
EDIT: Python 3.2 で cgi.escape は非推奨となり、代わりに
html.escape
という点を除いては同じです。
quote
はデフォルトでTrueになります。
関連
-
[解決済み】Pythonのvirtualenvを離脱/終了/無効化する方法
-
[解決済み】divの高さを画面の残りスペースで埋めるようにする
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] 複数の例外を1行でキャッチする(ブロックを除く)
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み] リンクのように動作するHTMLボタンを作成する方法
-
[解決済み] Pythonで型をチェックする標準的な方法は何ですか?
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み] HTMLの "role "属性は何のためにあるのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
PythonによるExcelファイルの一括操作の説明
-
[解決済み】ImportError: sklearn.cross_validation という名前のモジュールがない。
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】syntaxError: 'continue' がループ内で適切に使用されていない
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?