python - 阻止网页中的 HTML 标记

标签 python html django

因此,我正在构建一个包含大量用户输入的 Web 2.0 站点,但与任何 Web 2.0 站点一样,我会遇到垃圾邮件问题。据我所知,就我而言,最简单的方法是阻止任何 HTML 标记。用户不需要格式化,我将用于固定间距。

但我不认为有任何屏蔽标签,xmb 听起来很完美,但自 90 年代以来就被弃用了,非常愚蠢。

否则,我需要什么样的过滤?我看到堆栈溢出允许“基本”HTML...我该怎么做?阻止某些标签或允许某些标签等。正如我所说,用户不应该需要任何标签。

编辑:使用django

最佳答案

Django 中,您可以转义(编码)特殊的 HTML 字符,例如 <>所以标签可以显示为可读文本,但不能用作 HTML:

from django.utils.html import escape
print escape('<div class="q">Q & A</div>')

请注意,您的模板变量可能已经被转义,您可能需要先检查一下是否需要使用转义

或者您可以完全删除标签,如下所示:

from django.utils.html import strip_tags
strip_tags(string_value)

或者,您可以使用模板过滤器来删除它们,例如:

{{ value|striptags }}

关于python - 阻止网页中的 HTML 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4213884/

相关文章:

python - 多次循环 csv.DictReader 行

css - Chrome v52 html5 视频变长了吗?

html - 移除 <INPUT> 上的黑色 LEFT 和 TOP

python - 是否有将日期时间转换为 "5 hours ago"或 "12 days ago"的 Django 模板过滤器?

python - 如何在python shell中导入virtualenv中的包

python - 检索 Django 中单击的列表项

python - 如何用另一个函数装饰 matplotlib 图

python - 此许可术语 "GPL (>= 3) | file LICENCE"的含义是什么?

python - 如何绘制 seaborn ridge plot

html - 如何将图像拖放到 HTML5 Canvas 上?