php替换字符串中,PHP 替换字符串中的一些字符方法介绍

php替换字符串中,PHP 替换字符串中的一些字符方法介绍在php中替换字符串我们都会使用到str_replace函数了,此函数还可以使用正则,下面小编来给大家介绍一下替换字符串中的一些字符或替换第一次出现的字符实例。现在有个需求:字符串A与字符串B,字符串B中包含字符串A,利用字符串A将字符串B中的A替换成其他字符串或删除。利用PHP函数,str_ireplace()与str_replace()可以做到。一、str_ireplace(find,r…

大家好,又见面了,我是你们的朋友全栈君。

在php中替换字符串我们都会使用到str_replace函数了,此函数还可以使用正则,下面小编来给大家介绍一下替换字符串中的一些字符或替换第一次出现的字符实例。

现在有个需求:字符串A与字符串B,字符串B中包含字符串A,利用字符串A将字符串B中的A替换成其他字符串或删除。

利用PHP函数,str_ireplace() 与 str_replace() 可以做到。

一、str_ireplace(find,replace,string,count) 函数使用一个字符串替换字符串中的另一些字符(该函数对大小写不敏感)。

例如:

 代码如下 复制代码

header(“Content-Type: text/html; charset=utf-8″); // 防止中文乱码

$str_1 = ‘郭g碗w瓢p盆p’;

$str_2 = ‘?潘?’;

$str_3 = ‘PHP 替换字符串中的一些字符串-郭G碗w瓢p盆P’;

$str = str_ireplace($str_1,$str_2,$str_3);

echo $str;

// 输出:PHP 替换字符串中的一些字符串-?潘

?>

二、str_replace(find,replace,string,count) 函数使用一个字符串替换字符串中的另一些字符(该函数对大小写敏感)。

(参数与描述同 str_ireplace() 函数)

 代码如下 复制代码

header(“Content-Type: text/html; charset=utf-8″); // 防止中文乱码

$str_1_s = ‘郭g碗w瓢p盆p’;

$str_1_b = ‘郭G碗w瓢p盆P’;

$str_2 = ‘?潘?’;

$str_3 = ‘PHP 替换字符串中的一些字符串-郭G碗w瓢p盆P’;

$str_s = str_replace($str_1_s,$str_2,$str_3).’
‘;

$str_b = str_replace($str_1_b,$str_2,$str_3);

echo $str_s; // 无法查找到,输出原字符串

echo $str_b; // 被正确替换

// $str_s 输出:PHP 替换字符串中的一些字符串-郭G碗w瓢p盆P

// $str_b 输出:PHP 替换字符串中的一些字符串-?潘

?>

上面要替换肯定全部替换了,我如果想只替换第一次出现的字符呢

很多人想到了用str_replace()函数,看看这个函数的使用是不是我们要的

str_replace( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

不小心还真以为是我们想要的呢,最后那个参数是返回替换发生的总次数,它是一个引用变量,而不是我要想要的指定它将替换几次,所以用str_replace()是不行的

preg_replace()是可以实现的,可惜用了正则,

 代码如下 复制代码

$str=preg_replace(‘/abc/’,’xyz’,$str,1);

echo $str;

有没有不用正则的,嗯可以这样

 代码如下 复制代码

$replace=’xyz’;

if(($position=strpos($str,$replace))!==false){

$leng=strlen($replace);

$str=substr_replace($str,’xyz’,$position,$leng);

}

echo $str;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/142124.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • SpringBoot——整合Shiro完成登录检验

    SpringBoot——整合Shiro完成登录检验SpringBoot——整合Shiro完成登录检验

  • 根据身高重建队列

    根据身高重建队列

    2020年11月19日
  • 【爷青回系列】使用VMware虚拟机安装Windows XP系统!最详细!「建议收藏」

    【爷青回系列】使用VMware虚拟机安装Windows XP系统!最详细!「建议收藏」目录前言一、安装VMware虚拟机二、XP系统镜像下载三、创建WindowsXP虚拟机写在最后前言最近,肯德基的“田园脆鸡堡”回归了,摩尔庄园也正式“开园”了,爷青回!!!终于!终于!小时候左手田园脆鸡堡,右手摩尔庄园的幸福时刻终于要重现了。事先说明,这不是广告植入,也不是今天分享的重点。下面就由我向大家隆重介绍【爷青回系列】使用VMware虚拟机安装WindowsXP系统!操作环境:Windows10一、安装VMware虚拟机【官方下载地址】【免注册下载地址】由于官方下

  • 使SplitContainer中某个Panel宽度、高度不变[通俗易懂]

    使SplitContainer中某个Panel宽度、高度不变[通俗易懂]1.在窗体load时加入:splitContainer_AllLayout.SplitterDistance=120;上边代码字面意思是将水平、或垂直分开的SplitContainer的分区长度设置为1202.只要设置FixedPanel属性为希望宽度不变的panel即可:3.再设置控件不可拖动:splitContainer_AllLayout.IsSplitter…

  • 导弹防御系统(dfs+最长上升子序列)

    导弹防御系统(dfs+最长上升子序列)原题连接/为了对抗附近恶意国家的威胁,R 国更新了他们的导弹防御系统。一套防御系统的导弹拦截高度要么一直 严格单调 上升要么一直 严格单调 下降。例如,一套系统先后拦截了高度为 3 和高度为 4 的两发导弹,那么接下来该系统就只能拦截高度大于 4 的导弹。给定即将袭来的一系列导弹的高度,请你求出至少需要多少套防御系统,就可以将它们全部击落。输入格式输入包含多组测试用例。对于每个测试用例,第一行包含整数 n,表示来袭导弹数量。第二行包含 n 个不同的整数,表示每个导弹的高度。当输入测试用例

  • 原生JDBC连接数据库

    原生JDBC连接数据库JDBC概述概述JDBC(JavaDataBaseConnectivity,java数据库连接)是SUN公司开发的,一种用于执行SQL语句的JavaAPI JDBC是Java访问数据库的标准规范,可以为不同的关系型数据库提供统一访问,它由一组用Java语言编写的接口和类组成 JDBC需要连接驱动,驱动是两个设备要进行通信,满足一定通信数据格式,数据格式由设备提供商规定,设备提供…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号