輸入字串的時候有時候會輸入特殊字串,這時候只好進行字串的傳換,
如果是要存進DB裡面,可以透過mysqli_real_escape_string(); 將次串進行轉換。
而PHP內建的字串轉換函數為 htmlentities($test );
根據htmlentities的說明,htmlentities包含了以下四個參數
string htmlentities ( string $string
[, int $flags = ENT_COMPAT | ENT_HTML401
[, string $encoding = ini_get(“default_charset”)
[, bool $double_encode = true ]]] )
需要注意第二個參數flags(可察看下表),如果未設定flags時,
預設為ENT_COMPAT,會轉換雙引號,不轉換單引號, 需要特別注意
常量名 | 描述 |
ENT_COMPAT | 會轉換雙引號,不轉換單引號。 |
ENT_QUOTES | 既轉換雙引號也轉換單引號。 |
ENT_NOQUOTES | 單/雙引號都不轉換 |
ENT_IGNORE | 靜默丟棄無效的代碼單元序列,而不是返回空字串。 不建議使用此標記, 因為它可能有安全影響。 |
ENT_SUBSTITUTE | 替換無效的代碼單元序列為 Unicode 代替符(Replacement Character), U+FFFD (UTF-8) 或者 � (其他),而不是返回空字串。 |
ENT_DISALLOWED | 為文檔的無效代碼點替換為 Unicode 代替符(Replacement Character): U+FFFD (UTF-8),或 �(其他),而不是把它們留在原處。 比如以下情況下就很有用:要保證 XML 文檔嵌入額外內容時格式合法。 |
ENT_HTML401 | 以 HTML 4.01 處理代碼。 |
ENT_XML1 | 以 XML 1 處理代碼。 |
ENT_XHTML | 以 XHTML 處理代碼。 |
ENT_HTML5 | 以 HTML 5 處理代碼。 |
節錄自 http://php.net/manual/zh/function.htmlentities.php