函数定义:

str_replace() :函数替换字符串中的一些字符(区分大小写).

substr_replace() :函数把字符串的一部分替换为另一个字符串.

区别:

str_replace()和substr_replace()这两个函数概念,看起来都是替换字符串没什么区别.但是两者的用法还是有区别?
str_replace() 使用场景更多是对单个字符串和连续字符串过滤替换处理.           注意:间隔字符串过滤替换,更多使用php正则匹配替换处理  
substr_replace() 使用场景对字符串长度位置检索进行过滤替换或插入处理.     注意:对中文字符串截取不适用,更多使用中文截取函数mb_substr() 

语法:

str_replace(find,replace,string,count)

demo示例:

1.字符串替换字符串

 $stringData = str_replace('world','Admin','Hello world',$i);
print_r($stringData);//Hello Admin
echo '替换次数:'.$i;//替换次数:1

2.字符串替换数组键值

 $arrData = array('A','B','C','D_A');
print_r(str_replace('A','E',$arrData,$i));//Array ( [0] => E [1] => B [2] => C [3] => D_E )
echo '替换次数:'. $i;//替换次数:2

3.数组匹配字符串替换数组键值

 $find = array('A','D');
$replace = 'E';
$arrData = array('A','B','C','D_A');
print_r(str_replace($find,$replace,$arrData,$i));//Array ( [0] => E [1] => B [2] => C [3] => E_E )
echo '替换次数:'.$i;//替换次数:3

4.数组匹配数组替换数组键值

 $find = array('A','D');
$replace = array('E');
$arrData = array('A','B','C','D_A');
print_r(str_replace($find,$replace,$arrData,$i));//Array ( [0] => E [1] => B [2] => C [3] => _E )
echo '替换次数:'.$i;//替换次数:3

语法:
substr_replace(string,replacement,start,length)

demo示例:

 1.替换字符串

 $a=substr_replace('ABCD1234','...',4);
print_r($a);//ABCD...

2.插入字符串

 $b=substr_replace('ABCD1234','...',4,0);
print_r($b);//ABCD...1234

3.插入字符串和规定要替换多少个字符

 $c=substr_replace('ABCD1234','...',4,1);
print_r($c);//ABCD...234

4.数组匹配字符串插入

 $replace = array('A','BB','CCC','DDDD');
print_r(substr_replace($replace,'E',2,0));//Array ( [0] => AE [1] => BBE [2] => CCEC [3] => DDEDD )

php str_replace与substr_replace的区别的更多相关文章

  1. strtr、str_replace()、substr_replace、preg_replace之间的区别

    strtr(string, from, to): 逐个字符开始替换,以from跟to中长度较较短的一个为准,例如: strtr("aidengni","ai", ...

  2. PHP中str_replace和substr_replace有什么区别?

    两个函数的定义:(1)str_replace() 函数替换字符串中的一些字符(区分大小写). 该函数必须遵循下列规则: 如果搜索的字符串是一个数组,那么它将返回一个数组. 如果搜索的字符串是一个数组, ...

  3. PHP 12 :字符串的操作

    原文:PHP 12 :字符串的操作 本章介绍字符串的操作.之所以要把字符串单独拿出来讲,是因为字符串在每种语言里都是非常重要的.并且也是大家关心的.我们从以下几个方面介绍字符串: 字符串的表现形式. ...

  4. PHP字符串函数试题

    Ctrl+A查看答案 1.把ASCII字符的字符串转换为十六进制值的函数是什么?答:bin2hex($string),例如bin2hex('ab') = 6162 2.ASCII码转字符,字符转ASC ...

  5. php中正则表达式详解

    概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配.替换.截取匹配的字符串.常用的语言基本上都有正则表达式,如JavaScript.java等.其实,只有了解一种语言的正 ...

  6. php 正则匹配省市区

    匹配指定前后内容中的值 如匹配/xxx-abc中的abc preg_match('/\/xxx-([^<]*)/i', $route, $matches); echo $matches[1]; ...

  7. php 正则符号说明

    preg_match_all ("/<b>(.*)<\/b>/U", $userinfo, $pat_array); preg_match_all (&qu ...

  8. PHP中的正则

    概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配.替换.截取匹配的字符串. j简单的说就是通过一些规定的符号和字符组合成的一种语法规则 其实,只有了解一种语言的正则使用 ...

  9. php正则怎么使用(最全最细致)

    php正则怎么使用(最全最细致) 一.总结 一句话总结: 1.正则中的行定位符是什么? 解答:(^与$) 2.正则中什么时候用行定位符? 解答:如"^de",表示以de开头的字符串 ...

随机推荐

  1. 浅谈数学上的矩阵——矩阵的乘法运算的概念及C++上的实现模板

    首先让我们来谈一谈数学意义上的矩阵(在座各位也可以简单地将它理解为一个二维数组) 这样可以帮助我们理解矩阵加速及其运用的原理(矩阵加速是一个及其玄学的东西,所以请重点理解矩阵乘法)  这里给出一段严格 ...

  2. oracle--权限的传递

    sys 用户 普通授权lisi grant alter any table to lisi; 将权限指定admin ,可以权限传递给其他用户 grant alter any table to lisi ...

  3. python之下载每日必应壁纸

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = 'jiangwenwen' from bs4 import BeautifulS ...

  4. SQL Server增量备份数据[转]

    服务器中一个数据库DB,其中表A有几个地方要写入的,程序设定在网络不通的时候也可以用本机的数据库运行,在网络通达后,再将本机的数据写回到服务器中,经研究,增量备份有以下几种可能性: 1.        ...

  5. 音频视频的播放的进度调整(以.net为例)

    Background:对于音视频在线播放,一些小应用是靠nginx处理访问视频.音频文件的请求,对外应用的一般会托管至各种云上使用相关的服务.前者存在巨大的安全隐患,后者会有一定的成本.有的时候还是需 ...

  6. menustrip

    在对应菜单上点击鼠标右键,插入,SEPARATOR 就可以了,然后可以选中拖动位置.

  7. Sql Server 2008安装时提示重启计算机失败解决办法

    在键盘上按下组合键[Win]+[R],调出运行窗口.   在窗口中输入“regedit”,点击确定,打开注册表管理界面.   在注册表左侧目录栏中找到如下位置:“HKEY_LOCAL_MACHINE\ ...

  8. [书接上一回]在Oracle Enterprise Linux (v5.7) 中安装DB - (3/4)

    安装p10404530_112030_Linux-x86-64_6of7.zip解压下的example. 修改软件路径,为dbhome_1. 安装好数据,则可以进行快照操作! 删除安装文件. 输入db ...

  9. Mysql配置信息

    MySQL配置信息 MySQl基本 由MySQL AB公司开发,隶属于Oracle公司 默认端口:3306 超级用户:root MySQL目录结构 两种安装方式 ZIP安装 MSI安装(仅Window ...

  10. python基础--匿名函数

    def calc(x): return x+1 a=calc(10) print(calc) print(lambda x:x+1)#lambda函数的内存地址,利用函数名可以作为值传递给变量 b=l ...