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字段值提取第一个拼音 ...
随机推荐
- WPF没修改代码出现InitializeComponent报错的解决办法
问题不在于我们做错了什么,之前还好好的,我们什么都没做,就报错了.这完全不是我们的问题. 我的建议是,直接做绝一点,删除obj和debug文件夹,让他自己重新生成一次
- Google出品的NotebookLM 人工智能笔记本,一款基于RAG的personalized AI产品
Google推出了实验性的NotebookLM产品,一款基于RAG的个性化AI助手产品,基于用户提供的可信信息,通过RAG,帮助用户洞察和学习参考内容,然后借助AI整理笔记,转换为用户最终需要的大纲. ...
- RoslynPad的简单使用
虽说Visual Studio被我们戏称宇宙最强IDE,但是平常随手写段C#代码进行验证或者语法校验,属于牛刀小试了,显然轻量级C#编辑器更适合这种场景,目前较为流行的则是一代神器 LINQPad,但 ...
- docker资源限制与数据持久化
1. docker简介和核心概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器是完全使 ...
- ubuntu下openCV-Haar特征分类器训练
ubuntu下openCV-Haar特征分类器训练 这段时间在学openCV,准备做一个头部检测,但是openCV自带的分类器只有人脸检测的,而且准确度不高,就准备自己训练一个分类器.在网上看了很多的 ...
- Vue渲染函数与JSX指南
title: Vue渲染函数与JSX指南 date: 2024/6/3 下午6:43:53 updated: 2024/6/3 下午6:43:53 categories: 前端开发 tags: Vue ...
- OpenTelemetry agent 对 Spring Boot 应用的影响:一次 SPI 失效的案例
背景 前段时间公司领导让我排查一个关于在 JDK21 环境中使用 Spring Boot 配合一个 JDK18 新增的一个 SPI(java.net.spi.InetAddressResolverPr ...
- IMX6ULL基本环境搭建
基本环境搭建 1 交叉编译工具 在虚拟机中安装交叉编译工具,为后续开发做准备. 1.1 工具版本 工具版本:Linaro Releases 当前虚拟机为64位系统,因此下载64位系统的工具: $ un ...
- 【 INFINI Workshop 上海站】7 月 27 日一起动手实验玩转 Easysearch
[ INFINI Workshop 上海站]7 月 27 日下午 和 INFINI Labs 的技术专家面对面,第一时间了解极限实验室的发布最新产品和功能特性,通过动手实战,快速掌握最前沿的搜索技术, ...
- SQL SERVER 2012的安装
1.将光盘镜像用虚拟光驱加载(WIN10自带虚拟光驱) 2.双击setup.exe 3.选择"安装"-"全新 SQL Server 独立安装或向现有安装添加功能" ...