¿Existe una función similar o equivalente en Python para la función PHP htmlspecialchars()? Lo más parecido que he encontrado hasta ahora es htmlentitydefs.entitydefs().¿Hay un Python equivalente a la función PHP htmlspecialchars()?
Respuesta
Si está utilizando django 1.0, las variables de su plantilla ya estarán codificadas y listas para su visualización. También puede utilizar el operador safe
{{ var|safe }}
si no desea que esté activado globalmente.
Lo más cercano que conozco es cgi.escape.
es probable que desee xml.sax.saxutils.escape:
from xml.sax.saxutils import escape
escape(unsafe, {'"':'"'}) # ENT_COMPAT
escape(unsafe, {'"':'"', '\'':'''}) # ENT_QUOTES
escape(unsafe) # ENT_NOQUOTES
Tenga una mirada en xml.sax.saxutils.quoteattr, podría ser más útil para usted
El módulo html.entities
(htmlentitydefs
para Python 2.x) contiene un diccionario codepoint2name
que debería haz lo que necesites
>>> import html.entities
>>> html.entities.codepoint2name[ord("&")]
'amp'
>>> html.entities.codepoint2name[ord('"')]
'quot'
from django.utils.html import escape
print escape('<div class="q">Q & A</div>')
Estoy votando por esto porque no quiero analizar nada como algunas de las otras respuestas, o incluso buscar y reemplazar, quiero una sola función que lo haga todo por mí. – paulmorriss
creo que la forma más sencilla es utilizar reemplazar:
text.replace("&", "&").replace('"', """).replace("<", "<").replace(">", ">")
PHP sólo se escapa esas cuatro entidades con htmlspecialchars. Tenga en cuenta que si tiene ENT_QUOTES configurado en PHP, debe reemplazar las comillas con & # 039; en lugar de & quot ;.
Basándose en respuesta garlon4 @, puede definir su propio htmlspecialchars(s)
:
def htmlspecialchars(text):
return (
text.replace("&", "&").
replace('"', """).
replace("<", "<").
replace(">", ">")
)
- 1. ¿Hay un equivalente a la función MATLAB bsxfun en python?
- 2. C++ equivalente a la función Python len()?
- 3. cuándo usar la función htmlspecialchars()?
- 4. ¿Hay un equivalente de hash_hmac de PHP en Python/Django?
- 5. Python equivalente a la función LINQ All?
- 6. JSP equivalente a la función PHP include()?
- 7. Python equivalente a "php -s"
- 8. ¿Hay algún equivalente Java de la función http_build_query de PHP?
- 9. ¿Hay un equivalente en Python del "cualquiera" de Ruby? ¿función?
- 10. PHP equivalente para un decorador de python?
- 11. ¿Hay un JavaScript o jQuery equivalente a la función incorporada de "suma" de Python?
- 12. PHP list() equivalente en Python
- 13. ¿qué es python equivalente a PHP $ _SERVER?
- 14. ¿Existe una función equivalente de PHP para Python os.path.normpath()?
- 15. PHP: ¿equivalente a la función SUBSTRING_INDEX de MySQL?
- 16. Python equivalente a la constante mágica __DIR__ de PHP?
- 17. Python equivalente a memory_get_usage() de PHP
- 18. ¿Hay un equivalente de Cake para Python?
- 19. ¿Hay un equivalente en jQuery a `preg_replace()` de PHP?
- 20. Javascript equivalente a la función zip de Python
- 21. Python es equivalente a strip_tags de PHP?
- 22. ¿Hay un Python equivalente a `perl -pi -e`?
- 23. ¿Hay un Python equivalente a Data :: Dumper de Perl?
- 24. ¿Es equivalente PHP a la función parseInt de JavaScript?
- 25. equivalente a la función PHP Number_format en jQuery/javascript
- 26. Ruby equivalente a la función ucfirst() de PHP
- 27. ¿Hay un Python equivalente a los símbolos de Ruby?
- 28. Javascript equivalente a la lista de PHP()
- 29. ¿Hay un equivalente de Rake en Python?
- 30. ¿Hay un equivalente a php.net para JavaScript?
Parece que hay más de una manera obvia de hacerlo! O noes! –