在Python函數htmlspecialchars()中是否存在類似或等效的函數?到目前爲止我發現的最接近的是htmlentitydefs.entitydefs()。是否有與PHP函數htmlspecialchars()相當的Python?
13
A
回答
0
如果您使用的是django 1.0,那麼您的模板變量已經被編碼並準備好顯示。如果您不希望全局打開,則還使用safe
運算符{{ var|safe }}
。
12
我知道的最近的東西是cgi.escape。
2
from xml.sax.saxutils import escape
escape(unsafe, {'"':'"'}) # ENT_COMPAT
escape(unsafe, {'"':'"', '\'':'''}) # ENT_QUOTES
escape(unsafe) # ENT_NOQUOTES
1
的html.entities
模塊(htmlentitydefs
爲Python 2.x的)包含字典codepoint2name
它可能更爲有用即應做你需要的。
>>> import html.entities
>>> html.entities.codepoint2name[ord("&")]
'amp'
>>> html.entities.codepoint2name[ord('"')]
'quot'
6
from django.utils.html import escape
print escape('<div class="q">Q & A</div>')
+1
我對此投了票,因爲我不想解析任何其他答案,甚至做一個搜索和替換,我想要一個函數來完成這一切。 – paulmorriss 2010-06-18 15:36:49
1
我認爲最簡單的方法就是用替換:
text.replace("&", "&").replace('"', """).replace("<", "<").replace(">", ">")
PHP只逃脫這四個實體與用htmlspecialchars。請注意,如果您在PHP中設置了ENT_QUOTES,則需要用&#039替換引號;而不是&「。
0
大廈@ garlon4的回答,您可以定義自己的htmlspecialchars(s)
:
def htmlspecialchars(text):
return (
text.replace("&", "&").
replace('"', """).
replace("<", "<").
replace(">", ">")
)
相關問題
- 1. 是否有與MATLAB的conv2函數相當的Python?
- 2. 在python中是否有與MATLAB函數bsxfun相當的功能?
- 3. 是否有與HighLine相當的Python?
- 4. 是否有相當於$ sformat的函數?
- 5. 是否有相當於os.Args()的函數?
- 6. 是否有與.net中的Javascript函數.closest()相當的功能?
- 7. 是否有與SAS中的R函數表相當的功能?
- 8. 是否有一個相當於php glob函數的VBscript
- 9. 是否有與C++函數指針相當的Java?
- 10. 是否有一個與real_path相反的PHP函數?
- 11. 是否有相當於Java的Boost :: Python?
- 12. 是否有相當於python的bootstrap.php?
- 13. PHP是否有相當於Java的RequestDispatcher.forward?
- 14. php是否有相當於python的virtualenv或ruby的沙箱?
- 15. 是否有與eventfd相當的Windows?
- 16. 是否有與Oracle相當的mysqldump
- 17. 是否有與NSPredicate相當的Java?
- 18. 是否有與Haxe相當的atexit()?
- 19. 是否有與VBScript相當的log4j?
- 20. 是否有與Java MessageFormat相當的Ruby?
- 21. 是否有與MISRA C相當的Java?
- 22. 是否有與frexp相當的Java?
- 23. 是否有與IFNULL相當的Objective-C?
- 24. 是否有與CSS/sass相當的JavaScript
- 25. 是否有與Java相當的getchar?
- 26. 是否有與SignalR相當的Java?
- 27. 是否有與Ruby ruby相當的CoffeeScript?
- 28. 是否有與rails number_to_human相當的angularjs?
- 29. 是否有與LINQ相當的Java?
- 30. 相當於Python的LINQ所有函數?
似乎有不止一個明顯的方法來做到這一點!哦,不! – 2010-03-25 04:35:13