PHP字符串函数(1)

1.addcslashes() 函数返回在指定字符前添加反斜杠的字符串

addcslashes() 函数对大小写敏感。

对以下字符应用 addcslashes() 时请小心:0(NULL), r(回车), n(换行), f 换页)、t(制表符)以及 v(垂直制表符)。在 PHP 中,\0, \r, \n, \t, \f 以及 \v 是预定义的转义序列。

addcslashes(string,characters) string(必需。规定要转义的字符串) characters(必需。规定要转义的字符或字符范围)

返回已转义的字符串。

$str = "Welcome to Shanghai!";
// 向字符串中的特定字符添加反斜杠
echo addcslashes($str,'m')."<br>";
echo addcslashes($str,'H')."<br>";

// 向字符串中的某个范围内的字符添加反斜杠
echo addcslashes($str,'A..Z')."<br>";
echo addcslashes($str,'a..z')."<br>";
echo addcslashes($str,'a..g');

2. addslashes() 函数返回在预定义字符之前添加反斜杠的字符串

预定义字符是:

  • 单引号(')
  • 双引号(")
  • 反斜杠(\)
  • NULL
addslashes(string)

该函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串。

默认地,PHP 对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。所以您不应对已转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

3. bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。字符串可通过使用 pack() 函数再转换回去

bin2hex(string)

4. pack() 函数把数据装入一个二进制字符串

pack(format,args+) (规定在包装数据时所使用的格式。,规定被包装的一个或多个参数。)
a 将字符串空白以 NULL 字符填满
A 将字符串空白以 SPACE 字符 (空格) 填满
h 十六进位字符串,低位在前
H 十六进位字符串,高位在前
c 有号字符
C 无号字符
s 有号短整数 (十六位,依计算机的位顺序)
S 无号短整数 (十六位,依计算机的位顺序)
n 无号短整数 (十六位, 高位在后的顺序)
v 无号短整数 (十六位, 低位在后的顺序)
i 有号整数 (依计算机的顺序及范围)
I 无号整数 (依计算机的顺序及范围)
l 有号长整数 (卅二位,依计算机的位顺序)
L 无号长整数 (卅二位,依计算机的位顺序)
N 无号短整数 (卅二位, 高位在后的顺序)
V 无号短整数 (卅二位, 低位在后的顺序)
f 单精确浮点数 (依计算机的范围)
d 倍精确浮点数 (依计算机的范围)
x 空位
X 倒回一位
@ 填入 NULL 字符到绝对位置
print(pack("H*", bin2hex('aaadfasdfa')));

5. hex2bin() 函数把十六进制值的字符串转换为 ASCII 字符

hex2bin(string)

php5.4之后才可用

echo hex2bin("48656c6c6f20576f726c6421");
Hello World!

6. chop() 函数移除字符串右端的空白字符或其他预定义字符

chop(string,charlist)

规定从字符串中删除哪些字符。

如果 charlist 参数为空,则移除以下字符:

  • "\0" - NULL
  • "\t" - 制表符
  • "\n" - 换行
  • "\x0B" - 垂直制表符
  • "\r" - 回车
  • " " - 空格

7. ltrim() 函数移除字符串左侧的空白字符或其他预定义字符

ltrim(string,charlist)

用法同上

8. rtrim() 函数移除字符串右侧的空白字符或其他预定义字符

rtrim(string,charlist)

9. trim() 函数移除字符串两侧的空白字符或其他预定义字符

trim(string,charlist)

10. chr() 函数从指定的 ASCII 值返回字符

ASCII 值可被指定为十进制值、八进制值或十六进制值。八进制值被定义为带前置 0,而十六进制值被定义为带前置 0x

echo chr(61) . "<br>"; // 十进制
echo chr(061) . "<br>"; // 八进制值
echo chr(0x61) . "<br>"; // 十六进制值
posted @ 2016-02-24 14:25  sundong_wyz  阅读(321)  评论(0编辑  收藏  举报