PHP 每日一函式 — 字串函式 addcslashes ()

eternal_strong發表於2020-04-25

字串函式 addcslashes()

說明:以 C 語言風格使用反斜線轉義字串中的字元

addcslashes( string $str, string $charlist) : string

返回字串,該字串在屬於引數 charlist 列表中的字元前都加上了反斜線。

引數:

$str 要轉義的字元。

$charlist 如果 charlist 中包含有 \n,\r 等字元,將以 C 語言風格轉換,而其它非字母數字且 ASCII 碼低於 32 以及高於 126 的字元均轉換成使用八進位制表示。

當定義 charlist 引數中的字元序列時,需要確實知道介於自己設定的開始及結束範圍之內的都是些什麼字元。
$str = 'abcde[]\n\t';

$newStr = addcslashes($str, 'A...z');

echo $newStr; // \a\b\c\d\e\[\]\\\n\\\t
另外,如果設定範圍中的結束字元 ASCII 碼高於開始字元,則不會建立範圍,只是將開始字元、結束字元以及其間的字元逐個轉義。可使用 ord() 函式獲取字元的 ASCII 碼值。
$str = 'zoo[]A';

$newStr = addcslashes($str, 'z...A');

echo $newStr; // \zoo[]\A

charlist 引數,如“\0..\37”,將轉義所有 ASCII 碼介於 0 和 31 之間的字元。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章