addslashes
(PHP 4, PHP 5, PHP 7, PHP 8)
addslashes — 使用反斜線引用字串
說明
$str
): string
返回字串,該字串爲了數據庫查詢語句等的需要在某些字元前加上了反斜線。這些字元是單引號('
)、雙引號("
)、反斜線(\
)與
NUL(null
字元)。
一個使用 addslashes()
的例子是當你要往數據庫中輸入數據時。
例如,將名字
O'reilly
插入到數據庫中,這就需要對其進行轉義。
強烈建議使用 DBMS 指定的轉義函式
(比如 MySQL 是 mysqli_real_escape_string(),PostgreSQL 是 pg_escape_string()),但是如果你使用的 DBMS 沒有一個轉義函式,並且使用 \
來轉義特殊字元,你可以使用這個函式。
僅僅是爲了獲取插入數據庫的數據,額外的 \
並不會插入。
當 PHP
指令 magic_quotes_sybase
被設定成 on
時,意味著插入
'
時將使用
'
進行轉義。
PHP 5.4 之前 PHP 指令
magic_quotes_gpc 預設是 on
, 實際上所有的 GET、POST 和 COOKIE 數據都用被 addslashes() 了。 不要對已經被
magic_quotes_gpc
轉義過的字串使用
addslashes(),因為這樣會導致雙層轉義。 遇到這種情況時可以使用函式
get_magic_quotes_gpc()
進行檢測。
參數
-
str
-
要轉義的字元。
返回值
返回轉義后的字元。
範例
示例 #1 一個 addslashes() 例子
<?php
$str = "Is your name O'reilly?";
// 輸出: Is your name O\'reilly?
echo addslashes($str);
?>
參見
- stripcslashes() - 反引用一個使用 addcslashes 轉義的字串
- stripslashes() - 反引用一個引用字串
- addcslashes() - 以 C 語言風格使用反斜線轉義字串中的字元
- htmlspecialchars() - 將特殊字元轉換為 HTML 實體
- quotemeta() - 轉義元字符集
- get_magic_quotes_gpc() - 獲取目前 magic_quotes_gpc 的配置選項設定