版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章 字符串,字符串在PHP中的应用很广泛,在数据存储、传输、文件读写等很多方面,都能使用到字符串函数。与字符串有关的函数很多,本章主要介绍与字符串相关的函数的使用。,7.1 字符串显示函数,在本书2.1节中,就对字符串显示函数进行了介绍。虽然显示字符串函数很简单,但是其在程序运行过程中,要注意的问题很多。本节将重新回顾这些函数,并介绍更多的显示函数,也将介绍如何将字符串输出到缓冲区。,7.1.1 输出字符串到屏幕,echo()与print()函数已经介绍过其使用方法。下面通过代码,来介绍其他显示字符串的函数,代码如清单所示。,7.1.2 字符串与文件,使用fprintf()函数,可以把给定
2、的字符串,格式化后输出到一个句柄中。下面演示fprintf()函数的使用方法,代码如清单所示。 清单 fprintf()函数的使用 ,7.2 字符串与数组,在本书第2章语法部分,介绍了字符串操作符的使用方法。使用字符串操作符,可以把1个或多个字符串,连接为1个长字符中。本节介绍的函数,主要用于分割和连接字符串。,7.2.1 将字符串分割成小块,使用str_split()函数可以把指定的字符串,按指定的长度分割,并返回一个数组,数组的单元就是分割后字符串。下面演示str_split()函数的使用方法,代码如清单7.3所示。 清单 str_split()函数的使用方法 使用默认长度分割字符串; e
3、cho ; print_r(str_split($enString); echo ; echo 使用指定长度分割字符串; echo ; print_r(str_split($enString,4); echo ; ?,7.2.2 在字符串中插入字符串,使用chunk_split()函数,可以根据参数指定的长度,把字符串分为若干段,在每段字符串后附上指定字符串后,重新连接为一个字符串,并返回。下面演示chunk_split()函数的使用方法,代码如清单所示。 清单 chunk_split()函数的使用方法 在字符串的指定长度后,添加默认字符串; echo ; echo chunk_split($
4、String,4); echo ; echo 在字符串的指定长度后,使用-分割符; echo ; echo chunk_split($String,4,-); echo ; ?,7.2.3 字符串转化为数组,使用explode()函数,可以按指定的字符,分割另一个字符串,并返回一个数组。下面演示explode()函数的使用方法,代码如清单所示。 清单 explode()函数的使用方法 使用空格来分割字符串; echo ; print_r(explode( ,$String); echo ; echo 使用竖线来分割字符串; echo ; print_r(explode(|,$LString);
5、 echo ; echo 使用竖线来分割字符串,并指定返回的数组数; echo ; print_r(explode(|,$LString,2); echo ; ?,7.2.4 数组转化为字符串,使用implode()函数,可以使用指定的字符串,把一个数组连接为一个字符串。下面演示implode()函数的使用方法,代码如清单所示。 清单 implode()函数的使用方法 ; /使用|作为连接字符串 $string = implode(|,$array); /显示连接后的数组 echo $string; ?,7.3 字符串与空格,在实际应用中,字符串经常读取,以及其他函数的操作,往往会产生一些多余
6、的空格。这些多余的字符串,参与运算时,会产生错误的结果,而使用相关的字符串函数,可以很简单的解决这个问题。,7.3.1 去掉字符串左边的字符,使用ltrim()函数,可以去掉指定字符串中右边的指定字符,并返回去掉指字符后的字符串。下面演示ltrim()函数的使用方法,代码如清单所示。,7.3.2 去掉字符串右边的字符,使用rtrim()函数,可以去掉指定字符串中右边的指定字符,并返回去掉指字符后的字符串。下面演示rtrim()函数的使用方法,代码如清单所示。,7.3.3 去掉字符串两边的字符,使用trim()函数,可以去掉指定字符串中左右两边的指定字符,并返回去掉指字符后的字符串。下面演示tr
7、im()函数的使用方法,代码如清单所示。,7.4 字符串的比较,字符串的比较,主要集中在对类型,以及大小写的比较上。在实际应用中,在遇到同一个英文单词,如果其大小写不同,会使用运算结果出错的话,就可以先对字符串进行比较,再根据情况进行下一步的操作。,7.4.1 字符串比较,在表达式中,可以使用:=、!=、=、!=来进行字符串比较,下面演示比较字符串的方法,代码如清单所示。,7.4.2 使用函数比较字符串,使用strcasecmp()函数用于两个字符串进行比较大小。而strcmp()函数用于区分大小写的字符串的比较大小。下面演示strcmp()与strcasecmp()函数的使用方法,代码如清单
8、所示。,7.5 字符串的替换与插入,本节主要介绍用于替换字符串的函数。替换字符串,即使用指定的字符串,替换掉原来字符串中的相关字符,以组成新的字符串来参与运算。现在流行网站使用的模板系统,都是使用字符替换作为基础的。,7.5.1 替换当前字符串中的字符,使用str_replace()函数,可以替换掉字符串中的相关字符,而产生一个新字符串。下面演示str_replace ()函数的使用方法,代码如清单所示。,7.5.2 在指定位置插入字符串,使用substr_replace()函数,可以在指定位置插入字符串,并返回一个新字符串。下面演示substr_replace ()函数的使用方法,代码如清单
9、所示。,7.5.3 字符串替换函数与模板,根据str_replace()函数替换字符串的原理,可以实现简单的模板系统。下面演示简单模板系统的使用,代码如清单所示。,7.6 字符串与HTML,在操作或读取HTML文件时,经常会遇到一些特殊的字符串,这些特殊的字符串,都是由HTML标签转换而成了。在操作带有HTML标签的字符串或文件时,可以使用相关函数来得到需要的结果。,7.6.1 把字符转化为HTML实体形式,使用htmlspecialchars()函数,可以把HTML文件中,类似 /使用strip_tags()函数去除字符串中的标签 $string = strip_tags($html); /
10、显示返回的字符串 echo $string;/输出:HTML内容 /使用strip_tags()函数去除指定的HTML标签 $string = strip_tags($html,); /显示返回的字符串 echo $string; /输出:HTML内容 ?,7.8.5 解析URL,parse_url()并不是字符串函数,其主要使用是用于解析一个URL,并返回一个包括相关内容的数组。下面演示parse_url()函数的使用方法,代码如清单所示。,7.8.6 字母大小写的转换,在处理英文单词时,会遇到大小写不统一的问题,而且有些字符串处理函数,对于字母的大小写是敏感的。要比较两个大小写不同的单词是
11、否想等,可以把要比较的单词,都转成小写或大写字母来实现。在PHP中转化字母为大写的函数是strtoupper(),把字母转换为小写的函数是strtolower(),下面介绍这两个函数的使用方法,代码如清单所示。,7.9 常见问题,本章主要介绍了与字符串相关的函数。在脚本运行时,很多地方都涉及到字符串的操作,本节主要介绍的是,字符串操作过程中出现的问题。,7.9.1 关于模板应用的问题,前面介绍了一般模板的原理,并演示了一个简单的模板系统。虽然这个模板实现的效果比较简单,但是经过进一步丰富的话,其也可以满足大部分程序的模板化需要。 关于模板文件,清单7.14的代码中的模板是以字符串的形式存在的。
12、在实际应用中,可以把模板内容保存为一个文件,在要使用此模板时,可以使用文件系统函数读取这个文件,并替换其中的字符即可。 关于模板输出时,可以使用字符串输出函数,直接输出已经替换好的模板字符串,也可以把这个字符串写入一个文件,从而形成静态页面,方便浏览。,7.9.2 关于HTML编码的问题,在处理表单提交的变量时,为了防止用户提交HTML代码,可以使用strip_tags()函数,去掉指定变量中的HTML代码。 在有些情况下,脚本本身希望用户提交带有HTML编码的数据,而且需要把这些数据存储,供以后使用。带有HTML代码的数据,可以真接保存到文件中,但是大部分情况下,是把用户提交的数据保存到数据库中,由于数据库编码等原因,真接向数据库中存储带有HTML代码的数据,会产生错误。这时可以使用htmlspecia
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 年护理质控典型案例解析警示教育课件
- 2026 年高压氧治疗护理配合与风险防控课件
- 2026 年护理质控年度目标制定与考核方案
- 2026 年精索静脉曲张护理个案宣讲
- 2026年心内科血压动态监测标准化护理操作
- 2026考研农学真题及答案
- 2026年氨气应急处置考试试题及答案
- 2026年地下空间开发利用方案
- 2026年高职(园林技术)园林植物病理学综合测试题及答案
- 2026年六月环保活动实施方案
- 2026年比亚迪网申在线测试题及答案
- 无人机数字化管控平台搭建方案
- 乐平市市属国资控股集团有限公司面向社会公开招聘人员【15人】笔试历年常考点试题专练附带答案详解
- TCABEE080-2024零碳建筑测评标准(试行)
- 审计署工作保密制度
- 医疗器械质量意识培训资料
- 2026年中医内科临床诊疗指南-尘肺病
- 会展策划书案例
- QC/T 1210-2024汽车防夹系统
- 全国身份证前六位、区号、邮编-编码大全
- 摩托车牌租赁合同协议书范本
评论
0/150
提交评论