當使用PHP 遇到分配給HTML 表單輸入元素的資料中的空格時,必須轉義它們以防止意外行為。
提供的 PHP 程式碼片段嘗試根據表單提交設定輸入元素的「value」屬性。但是,當輸入資料包含空格(例如“Big Ted”)時,僅顯示第一個空格之前的文字(“Big”)。這是因為空格在 HTML 中充當屬性分隔符,導致空格後面的元素被視為附加屬性。
要解決此問題,資料必須用雙引號引起來。這可以防止空格被解釋為屬性分隔符,從而確保將整個值字串指派給“value”屬性。例如:
<input type="text" name="username" value="<?php echo (isset($_POST['username'])) ? htmlspecialchars($_POST['username']) : ''; ?>" />
此外,為了減輕潛在的 XSS 漏洞,建議在顯示提交的資料之前使用 htmlspecialchars() 函數轉義特殊字符,包括引號。
以上是如何使用 PHP 正確轉義 HTML 值屬性中的空格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!