Chinaunix首页 | 论坛 | 博客
  • 博客访问: 170005
  • 博文数量: 31
  • 博客积分: 999
  • 博客等级: 少尉
  • 技术积分: 310
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-27 15:14
文章分类

全部博文(31)

文章存档

2013年(2)

2012年(3)

2011年(18)

2010年(8)

分类: 系统运维

2011-09-28 18:37:21

字符串处理

字符串,所谓的字符串就是由零个或多个字符构成的一个集合,包含:数字,字母,特殊字符和不可见字符。

1.转义,还原字符串
常有将字符串解释成控制符,针对这样的问题,需要对特殊的字符进行转义。php中通过addslashes()和stripslashes()函数转义和还原字符串。

addslashes(字符串),可以给字符串加入斜线,对指定字符串中的字符进行转义,可转的包括单双引号,反斜线,null字符。它常用的地方就是生成sql语句时。 还原和转义一样,用stripslashes()函数。

这两个函数可以对指定范围内容的字符串进行转义,还原。string addcslashes ( string $str , string $charlist )  charlist就是指定哪些字符串前加上反斜线\。



2.截取

  对字符串截取sunstr()函数。从字符串中按照指定位置截取一定长度字符。如果使用正数作为子串起点来调用这个函数,将的到从起点字符串结束的这个字符串,如果使用负数作为子串起点来调用,将的到一个从原字符串尾部的一个子串,字符个数等于给定负数的绝对值。

string substr (string str,int $start [,int $length]) 参数分别是:字符串,截取开始位置,截取位数(截取字符的个数)

strlen()函数获取字符串的长度。

3.分割,合成字符串
分割是指将字符串中的内容按照某个规则进行分类存储,进而实现更多的功能。字符串的分割使用explode()函数,按照指定的规则对一个字符串进行分割,返回值为数组。
array explode ( string $separator, string $string [, int $limit] )此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 separator 作为边界点分割出来。如果设置了 limit 参数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。
explode(指定分隔符,被分隔的字符串[包含的元素个数])

合成字符串,使用implode()函数。语法一样。将数组中的元素组合成一个新字符串。implode(分隔符,被合并的数据);


4.替换字符串

字符串的替换技术,可以屏蔽帖子或都留言版中的非法字符,可以对查询的关键字进行描红,使用的函数str_ireplace()和substr_replace()来实现字符串的替换功能。

srt_ireplace()函数使用新的子字符串(子串)替换原始字符串中被指定要替换的字符串。
mixed str_ireplace ( mixed $search, mixed $replace, mixed $subject [, int &$count] ) 将所有在参数subject中出现的参数search以参数replace取代。参数&count表示取代字符串执行的次数。

$search   指定需要查找的字符串。 要被替换的
$replace  指定替换的值 替换为的
$subject  指定查找的范围 在哪里替换
count      可选参数,获取执行替换的数量
  

 这个函数不区分大小写,要区分大小写使用srt_replace()

substr_replace()函数,对指定字符串中的部分字符串进行替换。。  参数:指定是哪个字符串,换成什么字符,替换字符串的开始位置,指定长度



5.检索字符串,应用于字符串查找的函数,像strstr()函数和substr_count()函数,

strstr()函数获取一个指定字符串在另一个字符串中首次出现的位置到后者末尾的子字符串。如果指行成功,则返回剩余的字符串,否则返回false。这个函数区分大小写,要不区分大小写,可使用stristr()函数。(第一次出现的位置)
最后一次出现的位置,用strrchr()函数,该函数区分大小写。strripos()也是查最后出现位置,但不区分大小写。

substr_count()检索字符串在字符中出现的次数。

6.去掉字符串首尾空格和特殊字符
trim()函数去除字符串左右两边的空白字符和特殊字符,lrtim()是左边空白字符和特殊字符,rtrim()是右边
string ltrim (string $str[,string $charlist])   str是要操作的字符串对象。charlist为可选参数,指定需要从指定的字符串中删除哪些字符,如果不设置该参数,则所有的可选字符都将被删除,


7.字符串与html转换
字符串与html之间转换直接将源代码在网页中输出,而不被执行,用的函数htmlentities(),
htmlentities ( string $string [, int $quote_style],[string $charset])  $string必要参数,指定要转换的字符串,quote_Style可选参数,选择如何处理字符串中的引号,charest可选参数,确定转换的字符集。


8.正则表达式 : 正则表达式是一种描述字符串结构的语法规则。
一个完整的正则表达式由两部分组成,即元字符和文本字符,元字符就是具有特殊含义的字符,文本字符就是普通的文本。PCRE风格的正则表达式一般都放置在定界符/中间。

php中提供两套正则表达式函数库,但是PCRE函数库在执行效率上要略优于POSIX函数库,所以这里说的是PCRE函数库。

preg_match()函数,根据正则表达式的模式对指定的字符串进行搜索和匹配。
preg_match_all()  同上

preg_grep()函数   对数组中的元素进行匹配

字符串的替换
preg_replace()函数和preg_replace_callback()函数完成复杂的字符串替换操作。
preg_replace()函数 根据正则表达式的模式完成字符串的搜索和替换操作。

字符串的分割
preg_split()函数完成复杂的字符串分割操作。
















阅读(1193) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~