8

我正在构建一个类别列表,但我不确定如何将 & 符号存储在 MySQL 数据库中。如果我使用'&'. 与以 html 格式使用它有什么不同'&amp'吗?

4

5 回答 5

9

使用 '&' 可以节省几个字节。它不是 MySQL 的特殊字符&稍后您可以使用 PHP 的方法轻松生成for 输出htmlspecialchars()。当您的字段旨在保留简单信息时,您应该只使用纯文本,因为这通常更灵活,因为您可以稍后生成不同类型的标记等。例外:标记是由您希望将其布局决定与文本一起保存的用户生成的(如在富文本输入中)。如果您的输入中有标签等,您可能希望使用&以保持一致性。

于 2012-07-28T20:20:42.277 回答
4

&amp;只有当数据库中的字段包含 HTML(如<span class="bold">some text</span> &amp; more)时,您才应将其存储 。在这种情况下,您应该非常小心XSS

如果该字段包含一些一般数据(如用户名、标题...等),则仅应在将其放入 HTML 时对其进行转义(例如,使用htmlentities )。

于 2012-07-28T20:10:39.057 回答
2

存储它&amp;是一种适当的方法。您可以回显它或在语句中使用它作为&amp;.

于 2012-07-28T20:08:25.147 回答
2

我们一直将 '&' 存储到数据库字段中,这样做很好(至少我从未听到过其他争论)。

如果您只在 HTML 页面中使用该字符串,您可以只存储&amp;我想的 HTML 安全版本。我建议存储 '&' 并在阅读时将其转义会更好(以防您将来需要在非 HTML 上下文中使用该字符串)。

于 2012-07-28T20:16:58.707 回答
1

如果&amp;您想拥有有效的 HTML 或避免出现问题,请使用cut&copy(浏览器将其显示cut©)。

于 2012-07-28T20:26:39.127 回答