addcslashes
(PHP 4, PHP 5, PHP 7, PHP 8)
addcslashes — 以 C 語言風格使用反斜線轉義字串中的字元
說明
   addcslashes(string 
  $str, string $charlist): string
   返回字串,該字串在屬於參數 charlist
   列表中的字元前都加上了反斜線。
  
參數
- 
str
- 
      要轉義的字元。 
- 
charlist
- 
      如果 charlist中包含有\n,\r等字元,將以 C 語言風格轉換,而其它非字母數字且 ASCII 碼低於 32 以及高於 126 的字元均轉換成使用八進制表示。當定義 charlist 參數中的字元序列時,需要確實知道介於自己設定的開始及結束範圍之內的都是些什麼字元。 另外,如果設定範圍中的結束字元 ASCII 碼高於開始字元,則不會建立範圍,只是將開始字元、結束字元以及其間的字元逐個轉義。可使用 ord() 函式獲取字元的 ASCII 碼值。<?php
 echo addcslashes('foo[ ]', 'A..z');
 // 輸出:\f\o\o\[ \]
 // 所有大小寫字母均被轉義
 // ... 但 [\]^_` 以及分隔符、換行符、回車符等也一併被轉義了。
 ?><?php
 echo addcslashes("zoo['.']", 'z..A');
 // 輸出:\zoo['\.']
 ?>當選擇對字元 0,a,b,f,n,r,t 和 v 進行轉義時需要小心,它們將被轉換成 \0,\a,\b,\f,\n,\r,\t 和 \v。在 PHP 中,只有 \0(NULL),\r(回車符),\n(換行符)和 \t(製表符)是預定義的轉義序列, 而在 C 語言中,上述的所有轉換后的字元都是預定義的轉義序列。 
返回值
返回轉義后的字元。
更新日誌
| 版本 | 說明 | 
|---|---|
| 5.2.5 | The escape sequences \v and \f were added. | 
範例
    charlist 參數,如「\0..\37」,將轉義所有
   ASCII 碼介於 0 和 31 之間的字元。
   
示例 #1 addcslashes() 例子
<?php
$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377");
?>
參見
- stripcslashes() - 反引用一個使用 addcslashes 轉義的字串
- stripslashes() - 反引用一個引用字串
- addslashes() - 使用反斜線引用字串
- htmlspecialchars() - 將特殊字元轉換為 HTML 實體
- quotemeta() - 轉義元字符集