函数定义:

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. gradle阿里云镜像配置

    Maven镜像的配置参考: http://blog.java1234.com/blog/articles/252.html buildscript { repositories { mavenLoca ...

  2. Sentinel分布式系统的流量防卫兵

    Sentinel 是什么?官网:https://github.com/alibaba/Sentinel/wiki/介绍 随着微服务的流行,服务和服务之间的稳定性变得越来越重要.Sentinel 以流量 ...

  3. HTMLTestRunner_PY3脚本代码

    HTMLTestRunner_PY3.py文件代码如下: # -*- coding: utf-8 -*- """ A TestRunner for use with th ...

  4. Python 的 sys 模块常用方法?

    总结就是,os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口; sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境. sys.argv ...

  5. python字符串内置函数汇总

    1.capitalize 第一个单词首字母大写 2.title 每个单词首字母大写 3.upper 每个字母变大写 4.lower 每个字母变小写 5.len() 字符串长度 6.format() 格 ...

  6. 深入浅出Oracle数据读取一致性和事务表

    保证Oracle数据库读取一致性的关键是SCN.每一个数据块头都会记录一个事务提交的SCN.同时每一数据块头都包含一个事务表(ITL),事务必须获得一个ITL事务表才能进行数据修改.该事务表用来确定当 ...

  7. C#传特定的值,获得特定的数组排序

    一,在实际业务中,我们会有当我们传任何值进来时,我们要有特定的排序,,比如传进来的是"生物", "历史","化学", 但实际上我们需要的是& ...

  8. jQuery中$.get()和$.post()的异同点

    相同点:两者都是向服务器异步请求数据的. 不同点: 1.$.get() 方法使用GET方法来进行异步请求的,$.post() 方法使用POST方法来进行异步请求的. 2.如果前端使用$.get() 方 ...

  9. C#Stopwatch的简单计时 [收藏]

    Stopwatch 类 命名空间:System.Diagnostics.Stopwatch 实例化:Stopwatch getTime=new Stopwatch(); 开始计时:getTime.St ...

  10. 使用Jmeter聚合报告生成对比图表

    背景 最近在帮别的项目组执行性能测试,使用的工具是Jmeter.接口录制和参数化前一个人已经做好了,我主要的工作就是执行脚本,撰写测试报告.事情并不复杂,可做起来却极为耗时. 首先,由于有6组账号,分 ...