停止HTML转换&;代码


Stop HTML converting an & code

我有一个显示数据库信息的HTML表,其中一个数据库字段包含一个参数列表,例如:

id=eff34-435-567rt-65u&notification=5

但是当我在表中显示这个&不变成

我知道你可以使用手动强制它以正确的方式打印

&not

但我真的更希望能够使用一些东西来强制HTML忽略代码,这样我就可以直接从数据库中提取文本并将其打印到表中,而不必使用正则表达式来查找是否有&并用&amp;我尝试使用<pre>标签,但这不起作用。

是否有任何方法可以强制HTML打印为特定td字段键入的内容?

没有任何实用性(CDATA在text/html模式下不支持浏览器(。而是编写正确的HTML。

您应该通过转换函数运行数据库中的任何内容,以确保其HTML安全(如果没有其他功能,则可以防止XSS(。PHP有htmlspecialchars(),TT有| html。无论您使用的是什么,都应该有regex以外的东西。

&amp;&的正确HTML编码。您需要编写&amp;not才能正确显示。

如果你从数据库中提取,你可以使用任何可用的编程语言来为你解码HTML实体。

例如,在PHP中,可以使用htmlentitieshtmlspecialchars

尝试使用htmlspecialchar((。

大多数框架都有HTML编码函数。

在JavaScript:encode

在C#.NET中:HttpServerUtility.HtmlEncode

在输出字符串之前,只需在字符串上运行HTMLEncode。我所知道的每一种服务器端脚本语言都有一个内置的命令来实现这一点。更不用说你最终会遇到另一个同样会引发问题的角色。

ASP.NET:HttpServerUtility.HtmlEncode
PHP:htmlentities

Regex绝对不应该是必要的。