[英]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.