Python に PHP 関数 htmlspecialchars() と同様または同等の関数はありますか? これまでに見つけた最も近いものは htmlentitydefs.entitydefs() です。
質問する
12263 次
8 に答える
12
私が知っている最も近いものはcgi.escapeです。
于 2009-05-31T06:12:45.097 に答える
7
from django.utils.html import escape
print escape('<div class="q">Q & A</div>')
于 2010-03-25T04:32:22.133 に答える
4
@ garlon4の回答に基づいて、独自に定義できますhtmlspecialchars(s)
:
def htmlspecialchars(text):
return (
text.replace("&", "&").
replace('"', """).
replace("<", "<").
replace(">", ">")
)
于 2016-03-01T17:48:11.757 に答える
3
おそらくxml.sax.saxutils.escapeが必要です:
from xml.sax.saxutils import escape
escape(unsafe, {'"':'"'}) # ENT_COMPAT
escape(unsafe, {'"':'"', '\'':'''}) # ENT_QUOTES
escape(unsafe) # ENT_NOQUOTES
xml.sax.saxutils.quoteattrを見てください。
于 2009-05-31T06:31:53.530 に答える
3
最も簡単な方法は、置換を使用することだと思います:
text.replace("&", "&").replace('"', """).replace("<", "<").replace(">", ">")
PHP は、これら 4 つのエンティティのみを htmlspecialchars でエスケープします。PHP で ENT_QUOTES を設定している場合は、引用符を ' に置き換える必要があることに注意してください。「」ではなく。
于 2011-03-30T15:59:40.797 に答える
1
html.entities
モジュール ( python 2.x 用) には、必要なことを行うhtmlentitydefs
辞書が含まれています。codepoint2name
>>> import html.entities
>>> html.entities.codepoint2name[ord("&")]
'amp'
>>> html.entities.codepoint2name[ord('"')]
'quot'
于 2009-05-31T08:27:17.790 に答える
-1
django 1.0 を使用している場合、テンプレート変数は既にエンコードされており、表示できるようになっています。グローバルにオンにしたくない場合は、safe
演算子も使用し ます。{{ var|safe }}
于 2009-05-31T06:11:00.810 に答える