[英]The best way to store &(Ampersand) in MySQL database
我正在构建一个类别列表,我不确定如何在AMP数据库中存储Ampersand符号。 如果我使用'&'
是否有任何问题/劣势。 在html格式'&'
使用它有什么不同吗?
使用'&'可以节省几个字节。 它不是MySQL的特殊字符 。 您可以轻松制作&
稍后使用PHP的方法htmlspecialchars()
。 当您的字段用于保存简单信息时,您应该仅使用纯文本,因为这通常更灵活,因为您可以在以后生成不同类型的标记等。 例外:标记由用户生成,其布局决策要与文本一起保存(如在富文本输入中)。 如果您的输入中有标签等,则可能需要使用&
为了一致性。
你应该把它存储为&
仅当数据库中的字段包含HTML(例如<span class="bold">some text</span> & more
)时。 在这种情况下,您应该非常小心XSS 。
如果该字段包含一些常规数据(如用户名,标题等),则只应在将其放入HTML中时将其转义(例如,使用htmlentities )。
将其存储为&
是一种合适的方法。 您可以回复它或在语句中使用它作为&
。
我们一直将'&'存储到数据库字段中,这样做很好(至少我从未听过其他的论点)。
如果您只是在HTML页面中使用该字符串,则只需存储HTML安全&
我猜想的版本。 我建议存储'&'并在读取它时转义它会更好(如果你将来需要在非HTML上下文中使用该字符串)。
使用&
如果您想拥有有效的HTML或避免出现问题,例如cut©
(浏览器将其显示为cut©
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.