9.字符串处理
2016-11-30 21:06
141 查看
1、字符串格式化
(1)整理字符串第一步是处理空格
由于php编辑器文本上的空格在网页上并不存在,所以在这里要清理空格
需要用到函数——
ltrim()——清理左边的空格
rtrim()——清理右边的空格
trim()——清理左右两边的空格
(2)换行符br
应用:在回帖时,一个回车就是\n
通过函数来实现\n转换为<br>该转换过程
结果:This is a man!
This is a man!
(3)将所有字符串转换为html
htmlentitis():所有字符转为html
htmlspecialchar():只转换特殊的字符
strip_tags():将html去除掉
(4)stripcslashes()函数过滤解析有问题的字符串
(5)格式化字符串中的大小写
strtoupper() 转换为大写
strtolow() 转换为小写
ucfirst() 将第一个字母转为大写
ucwords() 将每个单词第一个字母转换为大写
(6)填充字符串
str_pad():将字符串用指定个数的字符填充字符串
结果:Lee is good#
2、操作子字符串
若要查看字符串各个部分,用函数
(1)explode():使用一个字符串分开另一个字符串(切开字符串)
返回的是一个数组
(2)implode():使用一个字符进行组合起来
注意:这两个函数第一个参数表示要分割/组合的字符(@、#等),
第二个参数是要分割/组合的字符;
(3)strtok():表示以某一个字符串分割小份
(4)substr():表示访问起点和终点
(5)str_split():分解字符串,返回数组
(6)strrev():逆向打印(仅限于英文,中文会出错)
结果:oahz si sihT
3、字符串的比较
(1)“==”比较字符串是否一致,返回值为boolean
echo 'a'=='a';
(2)字符串的比较:
strcmp():比较两个字符串,不区分大小写
a=b返回0,a>b返回-1,a<b返回-1
自然排序、非自然排序
strspn():返回字符串出现的个数
strlen():测试字符串的长度
substr_count:测试字符串出现的频率
4、查找替换字符串
(1)查找字符串
strstr():返回指定字符串开始输出之后的字符串
stristr():不区分大小写
strchr():strstr的别名
(2)字符串位置
strpos():查找某字符串最先出现的位置
strrpos():查找某字符串最后出现的位置
(3)字符串的替换
sre_replace():第一个参数表示要查找的字符串,第二个表示要替换的字符串,第三个表示原来的被替换的完整字符串;
str_ireplace():不区分大小写
substr_replace()
5、处理中文字符
中文字符是gbk,utf8,gb312
(1)mb_strlen():求字符串长度
(2)mb_strstr():求某字符串到结尾的字符
(3)mb_strpos():求出字符最先出现处
(4)mb_substr():取出指定的字符串
(5)mb_substr_count():返回对应函数substr_str()返回字符串出现的次数
<?php
$str='我是赵航';
//对于中文而言是四个字符;
echo mb_substr($str,0,1,'GBK');
//加上mb表示中文形式的gbk形式,中文的算法是——两个字符对应一个中文;
?> 结果:我
(1)整理字符串第一步是处理空格
<?php $str=' php '; echo $str; ?>
由于php编辑器文本上的空格在网页上并不存在,所以在这里要清理空格
需要用到函数——
ltrim()——清理左边的空格
rtrim()——清理右边的空格
trim()——清理左右两边的空格
<?php $str=' php '; echo trim($str); ?>
(2)换行符br
应用:在回帖时,一个回车就是\n
通过函数来实现\n转换为<br>该转换过程
<?php echo nl2br('This is a man!\n This is a man!'); ?>
结果:This is a man!
This is a man!
(3)将所有字符串转换为html
htmlentitis():所有字符转为html
htmlspecialchar():只转换特殊的字符
strip_tags():将html去除掉
<meta http-eauiv="Content-Type" content="text/html;charset=GBK"> <?php //将所有字符串转为html $str='<strong>中安消</strong>'; //echo htmlentitis($str); //只要传入特殊的字符; //echo htmlspecialchars($str); //将html去除掉; echo strip_tags($str); ?>
(4)stripcslashes()函数过滤解析有问题的字符串
<?php $str='This is a teacher.He is a 'Lee',\n This is Wu!'; //对于即将插入数据库的字符串,把有问题的字符串处理一下; $a=addslashes($str); //这个$a是写入数据库的,就会有\杠号 echo stripcslashes($a); //首先将写进数据库的字符串通过addslashes()函数过滤一下; //再通过stripcslashes解析一下 ?>
(5)格式化字符串中的大小写
strtoupper() 转换为大写
strtolow() 转换为小写
ucfirst() 将第一个字母转为大写
ucwords() 将每个单词第一个字母转换为大写
(6)填充字符串
str_pad():将字符串用指定个数的字符填充字符串
<?php $str='Lee'; //echo str_pad($str,4).is good'; //表示一个空格; echo str_pad($str,5,#).'is good'; //表示在后边加一个#; ?>
结果:Lee is good#
2、操作子字符串
若要查看字符串各个部分,用函数
(1)explode():使用一个字符串分开另一个字符串(切开字符串)
返回的是一个数组
(2)implode():使用一个字符进行组合起来
注意:这两个函数第一个参数表示要分割/组合的字符(@、#等),
第二个参数是要分割/组合的字符;
<?php //第一个参数是分割字符串,第二个是要被分隔的字符串; $email=explode('@','yc60.com@gmail.com'); //print_r($email); //分割完之后,经过一轮筛选要组合; //$arr=array('Lee','wa','wxp'); //$str=implode('&',$arr); //echo $str; //组合起来; $str=implode('@',$email); echo $str; ?>
(3)strtok():表示以某一个字符串分割小份
<?php $str='I will be back'; $tok=strtok($str,' '); //echo $tok; //I //用循环依次分割; while($tok){ echo $tok.'<br>'; $tok=strtok(' '); } ?>
(4)substr():表示访问起点和终点
<?php $str='yc60.com@gmail.com'; //中间的参数表示开始的位置,位置从0开始,第三个参数表示取的位数 substr($str,0,3); ?>
(5)str_split():分解字符串,返回数组
<?php $str='This is zhao'; print_r(str_split(str)); ?>
(6)strrev():逆向打印(仅限于英文,中文会出错)
<?php $str='This is zhao'; print_r(strrev(str)); ?>
结果:oahz si sihT
3、字符串的比较
(1)“==”比较字符串是否一致,返回值为boolean
echo 'a'=='a';
(2)字符串的比较:
strcmp():比较两个字符串,不区分大小写
a=b返回0,a>b返回-1,a<b返回-1
<?php //if(strcmp('b','b')==0){ //echo '=='; //0; //} //不区分大小写; echo strcmp('b','B'); //0; ?>
自然排序、非自然排序
<?php echo strcmp('2','10'); //非自然排序 1 //自然排序; echo strnatcmp('2','10'); //-1 ?>
strspn():返回字符串出现的个数
<?php echo strspn('com','yc60@com'); //com有两个,返回2 ?>
strlen():测试字符串的长度
substr_count:测试字符串出现的频率
<?php echo substr_count('ycoo60@gmail.com','o'); //o有3个,返回数字3; ?>
4、查找替换字符串
(1)查找字符串
strstr():返回指定字符串开始输出之后的字符串
stristr():不区分大小写
strchr():strstr的别名
<?php echo substr_count('ycoo60@gmail.com','@'); //gmail.com; ?>
(2)字符串位置
strpos():查找某字符串最先出现的位置
strrpos():查找某字符串最后出现的位置
<?php echo strpos('yc60.com@gmail.com','c'); //字符串第一次出现的位置; echo strrpos('yc60.com@gmail.com','c'); //字符串最后出现的位置; ?>
(3)字符串的替换
sre_replace():第一个参数表示要查找的字符串,第二个表示要替换的字符串,第三个表示原来的被替换的完整字符串;
str_ireplace():不区分大小写
substr_replace()
<?php echo str_replace('Lee','wq','This is Lee!'); //字符串替换; echo substr_replace('yc60.com@gmail.com','&&',9,5); //从第9个开始,替换5个; ?>
5、处理中文字符
中文字符是gbk,utf8,gb312
(1)mb_strlen():求字符串长度
(2)mb_strstr():求某字符串到结尾的字符
(3)mb_strpos():求出字符最先出现处
(4)mb_substr():取出指定的字符串
(5)mb_substr_count():返回对应函数substr_str()返回字符串出现的次数
<?php $str='我是赵航'; //对于中文而言是四个字符; echo mb_strlen($str,GBK); //加上mb表示中文形式的gbk形式,中文的算法是——两个字符对应一个中文; ?>
<?php
$str='我是赵航';
//对于中文而言是四个字符;
echo mb_substr($str,0,1,'GBK');
//加上mb表示中文形式的gbk形式,中文的算法是——两个字符对应一个中文;
?> 结果:我
相关文章推荐
- 改进 ASP 应用程序中的字符串处理性能
- 适合于Unix与Win32下的字符串处理类,可以以此为基类进行扩展
- VB中字符串处理函数反汇编对比
- 几个字符串处理方法:
- ASP中一个字符串处理类加强版
- 改进 ASP 的字符串处理性能
- clob相关的咚咚以及字符串处理
- 改进 ASP 应用程序中的字符串处理性能[转帖]
- SQL字符串日期处理.doc
- 化解字符串不能超过8000的方法及交叉表的处理
- 字段里字符串的处理问题
- 改进 ASP 应用程序中的字符串处理性能
- 几个非常有用的字符串处理函数!
- javascript字符串处理
- Strsafe.h安全的C语言字符串处理函数
- C#中处理字符串和数字
- ASP中一个字符串处理类(加强)(VBScript)
- 项目工作小结之字符串处理的几个方法
- JAVA-字符串处理中的重点
- 字符串的折行处理