本节主要介绍字符串中字符的访问、整理字符串以及字符串的转码。
1. 访问单个字符 在PHP中,可以把字符串当成一个字符的数组,可以直接用数组的访问方法来访问字符串。如$str[0]。 在这里要注意的是,如果字符是ASCII码以外时,访问会有问题。因为这种访问只能取得一个字节。
2. 删除空白字符 在PHP中,可以用trim(), ltrim(), rtrim()三个函数来删除字符串开头或结尾的空白字符。 其中,trim()用于删除字符前后的空白字符;ltrim()用于删除字符左侧的空白字符;rtrim()用于删除字符右侧的空白字符。 在默认情况下,会删除以下字符:空格( |Ox20)、制表符TAB(\n|Ox09)、换行(\n|OxOA)、回车(\r|0x0D)、空字符(\0|Ox00)。 也可以自己在参数里指定。 3. 改变大小写 strtolower() 把整个字符串转化为小写。 strtoupper() 把整个字符串转化为大写。 ucfirst() 把字符串的第一个字符转化为大写,其它字符不变。 ucwords() 把字符串里的每一个单词的第一个字符转为大写,其它字符不变。
4. HTML转义 HTML转义是指把字符串转化成HTML显示用的字符串。对此,PHP中有两个函数实现此功能。 htmlentities() 把除空格外的所有可以转换的字符都转成HTML形式。 htmlspecialchars() 把必要的(与符号&、双引号、单引号、大于号、小于号)转化为HTML形式。
5. URL转义 URL转义是指把字符串转化成URL字符串。对此,PHP中有两个函数实现此功能。 urlencode()和urldecode()是把空格转成+号,其它的转成URL字符串,前者转换,后者反转换 rawurlencode()和rawurldecode()是把空格转成%20号,即普通URL字符串,其它的转成URL字符串,前者转换,后者反转换
6. SQL转义 跟PHP最相关的两个数据库(MySQL和PostgreSQL)都是以反斜杠为转义符的(Oracle是自己定义,其它数据库没有测试),对此PHP中用addslashes()函数来添加这些反斜杠,用stripcslashes()函数来删除这些反斜杠。
参考资料: PHP程序设计,2003,第四章 字符串,访问单个字符串;整理字符串;编码和转义 |