PHP str_replace() 函数详解
PHP str_replace() 函数详解
1、前言:
str_replace() 函数以其他字符替换字符串中的一些字符(区分大小写)。
该函数区分大小写。请使用 str_ireplace() 函数执行不区分大小写的搜索。
2、语法:
mixed str_replace(mixed $search, mixed $replace, mixed $subject[,int &$count])
参数 描述
$search 必需。规定要查找的值。
$replace 必需。规定替换 find 中的值的值。
$subject 必需。规定被搜索的字符串。
$count 可选。对替换数进行计数的变量。
3、使用:
1)$search $replace都是字符串
代码:
$str = str_replace( "o", "i", "How are you?", $cnt );
echo $str.' '.$cnt;
返回:Hiw are yiu? 2
说明:将$subject中的$search替换为$replace,并计算次数
2)、$search为数组
代码:
$str = str_replace( [ "o", "u" ], "i", "How are you?", $cnt );
echo $str.' '.$cnt;
返回:Hiw are yii? 3
说明:在$subject中,将$search的各个字符串替换为$replace,并计算次数
3)、$replace为数组
代码:
$str = str_replace( "o", [ "i", "b" ], "How are you?", $cnt );
var_export($str);
echo $cnt;
返回:
Notice: Array to string conversion in ..\..\Test.php on line 19
'HArrayw are yArrayu?' 2
说明:在$subject中将$search字符串替换为Array
4)、$subject为数组
代码:
$str = str_replace( "o", 'i', [ 'H', 'o', 'w', 'a', 'r', 'e', 'y', 'o', 'u' ], $cnt );
var_export($str);
echo $cnt;
返回:array ( 0 => 'H', 1 => 'i', 2 => 'w', 3 => 'a', 4 => 'r', 5 => 'e', 6 => 'y', 7 => 'i', 8 => 'u', )2
说明:返回值为数组,将$subject中的各元素分别用$search替换为$replace的值进行替换。
5)、$search $replace都为数组
代码:
$str = str_replace( [ "o", "u" ], ['you', 'abc'], "How are you?", $cnt );
echo $str.' '.$cnt;
返回:Hyoabcw are yyoabcabc? 5
说明:在$subject中将$search的各元素值依次分别替换为$replace的各元素值。
过程:先将 $subject 中的 o 替换为 you => hyouw are yyouu?
再将替换后的$subject的 u 替换为 abc => Hyoabcw are yyoabcabc?
注:
(1)、如果$search的长度比$replace长;长出来的部分将匹配空字符串
代码:
$str = str_replace( [ "o", "u", "c" ], ['you', 'abc'], "How are you?", $cnt );
echo $str.' '.$cnt;
返回:Hyoabw are yyoabab? 8
过程: 先将 $subject 中的 o 替换为 you => hyouw are yyouu?
再将替换后的$subject的 u 替换为 abc => Hyoabcw are yyoabcabc?
再将替换后的$subject的 c 替换为 '' => Hyoabw are yyoabab?
(2)、如果$replace的长度比$search长;长出来的部分将忽略不计
代码:
$str = str_replace( [ "o", "u" ], ['you', 'abc', 'ban'], "How are you?", $cnt );
echo $str.' '.$cnt;
返回:Hyoabcw are yyoabcabc? 5
6)、$search $replace $subject都为数组
代码:
$str = str_replace( [ "o", "u" ], ['you', 'abc'], ["How are you?", 'How old are you?'], $cnt );
var_export($str);
echo $cnt;die;
返回:array ( 0 => 'Hyoabcw are yyoabcabc?', 1 => 'Hyoabcw yoabcld are yyoabcabc?', )12
说明:在$subject中将$search各元素的值依次分别替换为$replace的值,然后进行替换。
过程:
(1)、替换$subject[0] => "How are you?"
先将 $subject[0] 中的 o 替换为 you => hyouw are yyouu?
再将替换后的$subject[0]的 u 替换为 abc => Hyoabcw are yyoabcabc?
(2)、替换$subject[1] => 'How old are you?'
先将 $subject[1] 中的 o 替换为 you => hyouw yould are yyouu?
再将替换后的$subject[1]的 u 替换为 abc => Hyoabcw yoabcld are yyoabcabc?
PHP str_replace() 函数详解的更多相关文章
- malloc 与 free函数详解<转载>
malloc和free函数详解 本文介绍malloc和free函数的内容. 在C中,对内存的管理是相当重要.下面开始介绍这两个函数: 一.malloc()和free()的基本概念以及基本用法: 1 ...
- NSSearchPathForDirectoriesInDomains函数详解
NSSearchPathForDirectoriesInDomains函数详解 #import "NSString+FilePath.h" @implementation ...
- JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解
二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...
- Linux C popen()函数详解
表头文件 #include<stdio.h> 定义函数 FILE * popen( const char * command,const char * type); 函数说明 popen( ...
- kzalloc 函数详解(转载)
用kzalloc申请内存的时候, 效果等同于先是用 kmalloc() 申请空间 , 然后用 memset() 来初始化 ,所有申请的元素都被初始化为 0. view plain /** * kzal ...
- Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt
PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...
- jQuery.attr() 函数详解
一,jQuery.attr() 函数详解: http://www.365mini.com/page/jquery-attr.htm 二,jQuery函数attr()和prop()的区别: http: ...
- memset函数详解
语言中memset函数详解(2011-11-16 21:11:02)转载▼标签: 杂谈 分类: 工具相关 功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大 ...
- CreateFile函数详解
CreateFile函数详解 CreateFile The CreateFile function creates or opens the following objects and returns ...
- MYSQL常用内置函数详解说明
函数中可以将字段名当作变量来用,变量的值就是该列对应的所有值:在整理98在线字典数据时(http://zidian.98zw.com/),有这要一个需求,想从多音字duoyinzi字段值提取第一个拼音 ...
随机推荐
- 初识上位机(上):搭建PLC模拟仿真环境
大家好,我是Edison. 作为一个工业自动化领域的程序员,不懂点PLC和上位机,貌似有点说不过去.这里我用两篇小文带你快速进入上位机开发领域.后续,我会考虑再出一个系列文章一起玩工控上位机. 什么是 ...
- nohup Command [ Arg … ] [ & ]
nohup 英文全称:no hang up 不挂断的意思.退出终端不挂断程序的运行.在默认的情况下,会输出一个名叫 nohup.out 的文件到当前目录下.nohup Command [ Arg - ...
- shell脚本的调试
参数: -n :读一遍脚本中的命令但不执行,用于检查脚本中的语法错误 -v :一边执行脚本,一边将执行过的脚本命令打印到标准错误输出 -x :提供跟踪执行信息,将执行的每一条命令和结果依次打印出来 使 ...
- 通过axios实现数据请求
vue.js默认没有提供ajax功能的. 所以使用vue的时候,一般都会使用axios的插件来实现ajax与后端服务器的数据交互. 注意,axios本质上就是javascript的ajax封装,所以会 ...
- 判断是不是ie浏览器 加上ie11
var b_version = navigator.appVersion; var version = b_version.split(";"); var trim_Version ...
- react移动端组件antd-mobile
使用react移动端组件antd-mobile完成底部导航功能实现. 官网:https://mobile.ant.design/docs/react/introduce-cn antd-mobile ...
- kettle从入门到精通 第三十二课 mysql 数据连接集群/分区配置
1.这里的集群实际上是数据分区或者分片的概念,如中国全国的学生,应该不会都存在一张表里面,有可能每个省市一个表进行存储. 2.集群(分区),如下图所示 设置在"集群"标签,勾选&q ...
- window.onload()函数和jQuery中的document.ready()有什么区别?
a.执行时间:window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行.$(document).ready()是DOM结构绘制 完毕后就执行,不必等到加载完毕.$(doc ...
- 浅拷贝、深拷贝与序列化【初级Java必需理解的概念】
浅拷贝 首先创建两个类,方便理解浅拷贝 @Data class Student implements Cloneable{ //年龄和名字是基本属性 private int age; private ...
- CSS 属性计算
CSS 属性计算过程 你是否了解 CSS 的属性计算过程呢? 有的同学可能会讲,CSS属性我倒是知道,例如: p{ color : red; } 上面的 CSS 代码中,p 是元素选择器,color ...