PHP开发中常用的字符串操作函数

1,拼接字符串
拼接字符串是最常用到的字符串操作之一,在PHP中支持三种方式对字符串进行拼接操作,分别是圆点.分隔符{}操作,还有圆点等号.=来进行操作,圆点等号可以把一个比较长的字符串分解为几行进行定义,这样做是比较有好处的.

2,替换字符串
在PHP这门语言中,提供了一个名字叫做substr_replace()的函数,该函数的作用可以快速的完成扫描和编辑文本内容较多的字符串替换功能.他的语法格式:
mixed substr_replace(mixed $string,string $replacement, int $start[,int $length])
对于上面的语法格式的说明:
string 是要检查或者将要被替换的字符串
replacement 指定要用来插入或者替换的字符串
start 指定在字符串的何处进行开始替换,这个参数可以取三种类型的值(正数:从字符串开头的第start个偏移量开始替换,负数,从字符串结尾处的第start个偏移量开始替换,0:从字符串中的第一个字符开始替换)
length指定要替换多少个字符,这个参数也可以取三种类型的值(正数:被替换的字符串的长度,负数:从字符串的结尾开始被替换的字符串的长度,0:是插入操作,而不是替换操作);

3,计算字符串

1)计算字符串的长度
在PHP中,strlen()函数用来计算字符串的长度并且返回该字符串的长度信息.该语法的格式如下:int strlen(string $string)格式里面的string就是用来指定要计算长度的字符串.

2)计算字符串的数目
在PHP中,substr_count()函数,可以用来非常方便而且准确的确定一个指定的子字符串在所提供的字符串中有多少个,substr_count()函数的语法格式如下:int substr_count(string $haystack,string $needle[,int $offset=0[,int $length]])在上面的语法中设计的参数的说明如下:haystack指定要检查的字符串,needle用来指定要插入的字符串,offset用来指定在字符串中何处开始搜索,默认值为0,length用来指定搜索的长度.
在PHP中,str_word_count()函数,可以用来非常方便而且准确的确定一个某一个单词在所提供的字符串中有多少个,str_word_count()函数的语法格式如下:mixed str_word_count(string $string[,int $format=0[,string $charlist]])在上面的语法中涉及到的参数的说明如下:string用来指定要进行检查的字符串,format用来指定str_word_count()函数的返回值,这个参数的返回值可以返回三个值,分别是0,1,2.其中返回0的意思是默认值,返回找到的单词的数目,如果返回值为1的话,那么str_word_count()返回的就是一个数组,其中的键名是从0开始的连续整数,值是实际的单词.如果format的值取3的时候,那么str_word_count()函数的返回值就是一个数组,其中,数组的键名是单词在字符串中的位置,值是实际的单词.

4,查找字符串

字符串的查找可以分为很多种,比如说查找子字符串,查找某个字符串的位置等等,PHP分别为每个字符串查找操作提供了相应的函数.

1)查找子字符串
在PHP语言中,strstr()函数可以用来查找子字符串,该函数返回的结果为子字符串第一次出现的所有的内容,strstr()函数的格式如下:string strstr(string $haystack,mixed $needle)在上面的语法中,涉及到的参数的说明如下haystack:指定被搜索的字符串,needle指定所要搜索的字符串,如果该参数是数字的话,则会匹配器该数字ASCII值的字符.在实际的应用当中,会出现要忽略字母大小写的情况,这个时候,可以使用PHP提供的一个大小写不敏感的查找函数--stristr()函数,该函数的使用方法和strstr()函数的使用是一样的.
2)查找字符串的位置
strpos()函数的功能和strstr()函数是类似的,只是返回的不是字符串,而是一个字符串在另外一个字符串当中第一次出现的位置,strpos()的语法格式如下:int strpos(string $haystack,mixed $needle[,int $offset =0])在上面的语法中涉及到的参数的说明如下:haystack是要被搜索的字符串,needle指定要进行查找的字符串,offset是指定开始搜索的位置,默认值为0.
strpos()函数是一个对大小写敏感的查找函数,但是在实际的应用过程当中往往会出现需要忽略大小写的,这个时候可以使用PHP提供的一个对大小写不是很敏感的查找函数stripos(),该函数的使用方法和strpos()是一样的.

5,比较字符串
在PHP语言中,比较两个字符串的大小可以通过两种方式来实现:使用"=="操作符比较和使用函数进行比较

1)使用"=="操作符比较两个字符串的大小
在PHP中比较两个字符串的时候,最容易的方法就是使用双等号操作符(==).
2)使用函数比较字符串的大小
在PHP中提供的strcmp()函数可以更加精确的比较两个字符串的大小,语法格式如下int strcmp(string $str1,string $str2)在上述语法中涉及到的参数的说明如下:str1 指定要进行比较的字符串1,str2指定要进行比较的字符串2.这个strcmp谙熟可以确保两个字符串是否完全匹配,并将比较结果以整数的形式返回,这个函数的返回值有以下三种.0:两个字符串是相等的,小于0的时候,第一个字符串是小于后面的字符串的,如果返回值是大于零的,那么就说明,前面的字符串是大于后面的字符串的.
除了strcmp()函数之外,PHP还提供了另外一些比较类似的比较函数,比如strncmp()函数可以选择想要比较的字符串的长度(字符个数),其语法格式如下:int strcmp(string $str1,string $str2,int $len)上面的参数说明 str1:指定要比较的第一个字符串,str2:指定要比较的第二个字符串len:指定每个字符串用于比较的字符个数.
在比较字符串的时候,有的时候需要忽略大小写,就可以使用strcasemp()函数和strncasemp()函数,这两个函数与区分大小写的相应函数的使用方法是完全相同的,strcasecmp()函数和strncasecmp()两个函数的语法格式分别如下:
int strcasecmp(string $str1,string $str2)
int strncasecmp(string $str1,string $str2,int $len)

6,复制字符串
如果需要重复n次显示一个字符或者一个字符串的功能,则最简单的实现方法就是调用复制函数,在PHP中可以使用str_repeat()函数实现字符串的复制,这个函数的语法格式如下:string str_repeat(string $input,int $multiplier)在上述的语法中设计的参数的说明如下input指定要重复的字符串,multiplier指定字符串将被重复的次数.

7,翻转字符串
处理字符串的操作还包括对字符串进行翻转在PHP语言中,使用strrev()函数可以实现反转字符串的功能,strrev()函数的语法格式为
string strrev(string $string)
上面的参数string就是用于指定要进行翻转的字符串.

8,切分,合并字符串
把一个字符串按照某种规则切分成多个字符串,或者把多个字符串合并成一个长的字符串,是在处理字符串操作的时候会经常碰到的问题.使用PHP提供的explode()函数,str_split()函数,implode()函数可以处理类似切分,合并字符串的问题.

1)切分字符串
explode()函数的功能就是用指定的分隔符把字符串切分成数组,explode()函数的语法格式如下:array explode(string $delimiter,string $string[,int $limit])在上面的语法中涉及到的参数的说明如下:delimiter:指定在哪里分隔字符串,string:指定要进行分割的字符串,limit:指定所返回的数组元素的最大数目,最后的子块将会包含string的剩余部分.
str_split()函数的作用是能够将一个字符串分割成等长度的多个子字符串.str_split()函数的语法格式如下:array str_split(string $string[,int $split_length=1])上面的语法中的参数说明如下:string:指定要分割的字符串,split_length:指定每个数组元素的长度,默认值为"1".
2)合并字符串
implode()函数的功能是将数组的元素连接起来成为字符串,implode()函数的语法格式如下:string implode([string $glue],array $pieces)在上述的语法中涉及到的参数的说明如下:glue()指定数组元素之间放置的内容,默认值为""(表示空格字符串)pieces指定要合并为字符串的数组.调用implode()函数可以根据参数所限制的条件获取一个新的字符串,达到合并字符串的目的.
join()是implode()函数的别名,两个函数的用法是完全一样的,需要强调的是,虽然参数glue是可以选的,但是为了使程序拥有更好的兼容性,推荐使用两个参数.
总结一下字符串的相关操作方法:

1)printf()函数:可以对字符串进行格式化操作
2)sprintf()函数:可以对字符串进行格式化操作,与printf()函数的区别就是需要使用echo才能将格式化后的字符串显示输出.
3)nl2br()函数:可以将字符串中的换行符"\n"转换为HTML中的"<br/>"后显示出来.
4)wordwrap()函数:指定从某列字符进行强制换行
5)strtolower()函数:该函数实现的功能是将字符串中的所有的字符全部转换为小写字符
6)strtoupper()函数:该函数的作用就是将字符串中的所有的字符全部转换为大写的字符
7)ucwords()函数:该函数的作用就是将字符串中所有的首字符全部转换为大写字符
8)substr_replace()函数:可以快速完成扫描并且编辑文本内容较多的字符串的功能
9)strlen()函数:可以计算字符串的长度并且返回该字符串的长度
10)substr_count()函数:可以确定一个字符串在所提供的字符串中有多少个
11)str_word_count()函数,可以确定一个字符串中某个单词的出现次数.
12)strstr()函数,可以用来查找子字符串,该函数的返回结果为子字符串第一次出现后的所有内容
13)strpos()函数,功能和strstr()函数是类似的,只是返回的不是字符串,而是一个字符串在另一个字符串中第一次出现的位置.
14)strcmp()函数,该函数的功能可以精确的比较两个字符串的大小
15)strncmp()函数,可以选择要比较的字符串的长度(字符个数)
16)strcasecmp()函数,可以在忽略大小写的时候,对两个字符串进行比较
17)strncasecmp()函数,可以在忽略大小写的前提下,对两个字符串时候进行长度或者字符数目的比较.
18)str_repeat()函数,重复n次显示一个字符或者字符串的功能
19)strrev()函数,提供对字符串进行翻转的操作
20)explode()函数,提供了将某个字符串切分为多个字符串的功能,指定分隔符吧字符串切分成数组.
21)str_split()函数,能够将一个字符串分割成等长度的多个子字符串
22)implode()函数,将数组的元素连接起来成为字符串
23)join()函数,使用方法与implode()函数是一摸一样的,它的作用也是将数组元素连接起来成为一个字符串

时间: 2011-02-06

php常用字符串处理函数实例分析

本文实例讲述了php常用字符串处理函数.分享给大家供大家参考.具体分析如下: 这里只提供几个简单常用的函数: chop执行去除空格处理,get_html_translation_table返回转化列表到变量,定义包括HTML编码的字符串htmlentities,htmlspecialchars_decode 定义包含HTML特殊字符的字符串,nl2br quotemeta rtrim等. 定义和用法:chop() 函数从字符串的末端开始删除空白字符或其他预定义字符,该函数的 rtrim() 函数

PHP5 字符串处理函数大全

addcslashes - 为字符串里面的部分字符添加反斜线转义字符 addslashes - 用指定的方式对字符串里面的字符进行转义 bin2hex - 将二进制数据转换成十六进制表示 chop - rtrim() 的别名函数 chr - 返回一个字符的ASCII码 chunk_split - 按一定的字符长度将字符串分割成小块 convert_cyr_string - 将斯拉夫语字符转换为别的字符 convert_uudecode - 解密一个字符串 convert_uuencode - 加

浅析51个PHP处理字符串的函数

包括,计算字符串长度.分割字符串.查找字符串等等各个方面.1.AddSlashes: 字符串加入斜线. 2.bin2hex: 二进位转成十六进位. 3.Chop: 去除连续空白. 4.Chr: 返回序数值的字符. 5.chunk_split: 将字符串分成小段. 6.convert_cyr_string: 转换古斯拉夫字符串成其它字符串. 7.crypt: 将字符串用 DES 编码加密. 8.echo: 输出字符串. 9.explode: 切开字符串. 10.flush: 清出输出缓冲区. 11

关于PHP内置的字符串处理函数详解

字符串的特点 1.  其他类型的数据用在字符串类型处理函数中,会自动将其转化成字符串后,在处理 <?php echo substr("abcdefghijklmn",2,4),"<br>"; //cdef //使用数字会自动转化为字符串 echo substr(123456,2,4); //3456 ?> 2. 可以将字符串视为数组,当做字符集合来看待 <?php $str="abcdefg"; //下面这两种方法都

对Django中内置的User模型实例详解

User模型 User模型是这个框架的核心部分.他的完整的路径是在django.contrib.auth.models.User. 字段 内置的User模型拥有以下的字段: 1.username: 用户名.150个字符以内.可以包含数字和英文字符,以及_.@.+..和-字符.不能为空,且必须唯一! 2.first_name:歪果仁的first_name,在30个字符以内.可以为空. 3.last_name:歪果仁的last_name,在150个字符以内.可以为空. 4.email:邮箱.可以为空

Spring Boot 定制与优化内置的Tomcat容器实例详解

1.Spring Boot 定制与优化内置Tomcat容器. > 内置的容器有三个分别是Undertow.Jetty.Tomcat,Spring Boot 对这三个容器分别进行了实现,它们上层接口都是EmbeddedServletContainerFactory,该接口也是本文的主要核心. 对于内置容器的定制与优化主要有两种方式,第一种方式是通过配置文件来配置,另外一种是通过码代码的方式.接下来主要对上述两种方式进行实现. 2.通过配置文件来定制与优化Tomcat > 配置的核心内容参考org

Python内置的字符串处理函数整理

str='python String function' 生成字符串变量str='python String function' 字符串长度获取:len(str)例:print '%s length=%d' % (str,len(str)) 字母处理全部大写:str.upper()全部小写:str.lower()大小写互换:str.swapcase()首字母大写,其余小写:str.capitalize()首字母大写:str.title()print '%s lower=%s' % (str,st

PHP模板引擎Smarty内置变量调解器用法详解

本文实例讲述了PHP模板引擎Smarty内置变量调解器用法.分享给大家供大家参考,具体如下: Smarty 中的变量调解器相当于函数,其调用方式为:通过 "|" 后面直接跟调解器函数名,如果有参数,得加在 ":" 后面,多个参数的话,累加即可. 下面为您介绍 Smarty 中内置的变量调解器: 1.capitalize 将变量里的所有单词首字大写.参数值 boolean 型决定带数字的单词,首字是否大写.默认不大写 index.php $tpl->assign

Python3.5常见内置方法参数用法实例详解

本文实例讲述了Python3.5常见内置方法参数用法.分享给大家供大家参考,具体如下: Python的内置方法参数详解网站为:https://docs.python.org/3/library/functions.html?highlight=built#ascii 1.abs(x):返回一个数字的绝对值.参数可以是整数或浮点数.如果参数是一个复数,则返回它的大小. #内置函数abs() print(abs(-2)) print(abs(4.5)) print(abs(0.1+7j)) 运行结果

Angular2内置指令NgFor和NgIf详解

在这一章节中,我们来学习如何使用Angular2来展示数据,以及如何使用它的内置指令NgFor和NgIf 首先要确保你有一个可以运行起来的Angular2的样例程序,最好就是我们上一章节中完成的那个QuickStart小项目或者你自己根据官网上面的步骤完成的QuickStart小项目,因为我们的讲解都是在那个基础上来进行的;然后让我们开始下面的快乐旅程吧. 因为我们的这一系列的文章都是使用的TypeScript所以在看下面的内容之前你最好可以看一下TypeScript或者ES6的类,它们的网址分

Lua内置的调试器用法详解

Lua提供了一个调试库,它提供了所有的基本功能,创造自己的调试器.即便如此,也没有内置的Lua调试器,Lua为开发者创建很多调试器是开源. 调试Lua库中可用的功能列于下表连同它的用途. 上面列表中的Lua调试功能的完整列表,我们经常使用,使用上述功能,并提供了更方便的调试库.使用这些函数和创建自己的调试器是相当复杂,不是最好的选择的.无论如何,我们将看到使用简单的调试功能的例子. 复制代码 代码如下: function myfunction () print(debug.traceback("

Django框架使用内置方法实现登录功能详解

本文实例讲述了Django框架使用内置方法实现登录功能.分享给大家供大家参考,具体如下: 一 内置登录退出思维导图 二 Django内置登录方法 1 位置 2 源码 @deprecate_current_app @sensitive_post_parameters() @csrf_protect @never_cache # 视图函数要渲染的模板位置(registration/login.html) def login(request, template_name='registration/l

asp内置对象 ObjectContext 事务管理 详解

asp内置对象 ObjectContext 详解 您可以使用 ObjectContext 对象提交或放弃一项由 Microsoft Transaction Server (MTS) 管理的事务,它由 ASP 页包含的脚本初始化. ASP 包含 @TRANSACTION 指令时,该页会在事务中运行,直到事务成功或失败后才会终止. 语法 ObjectContext.method 方法 SetComplete SetComplete 方法声明脚本不了解事务未完成的原因.如果事务中的所有组件都调用 Se