我正在构建一个类别列表,我不确定如何存储Ampersand符号
在MySQL数据库中。如果我使用'&'
,是否有任何问题/不利条件。有什么不同吗?
以html格式使用它'&'
?
答案 0 :(得分:5)
使用'&'节省几个字节。它不是MySQL的special character。您可以使用PHP的方法htmlspecialchars()
轻松生成&
以便稍后输出。当您的字段用于保存简单信息时,您应该仅使用纯文本,因为这通常更灵活,因为您可以在以后生成不同类型的标记等。例外:标记由用户生成,其布局决策要与文本一起保存(如在富文本输入中)。如果输入中有标签等,则可能需要使用&
来保持一致性。
答案 1 :(得分:3)
只有当数据库中的字段包含HTML(如&
)时,才应将其存储为<span class="bold">some text</span> & more
。在这种情况下,您应该非常小心XSS。
如果该字段包含一些常规数据(如用户名,标题等),则只应在将其放入HTML中时将其转义(例如,使用htmlentities)。
答案 2 :(得分:2)
将其存储为&
是一种合适的方法。您可以回复它或在&
语句中使用它。
答案 3 :(得分:2)
我们存储'&amp;'一直到数据库领域,这样做很好(至少我从来没有听过其他的论点)。
如果您只是在HTML页面中使用该字符串,则可以存储我认为的HTML安全&
版本。我建议存储'&amp;'并且当你阅读它时逃避它会更好(如果你将来需要在非HTML上下文中使用该字符串)。
答案 4 :(得分:1)
如果您想拥有有效的HTML或避免出现问题,请使用&
,例如cut©
(浏览器shows it为cut©
)。