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)


相关推荐

  • 冒泡排序怎么排_vj5347

    冒泡排序怎么排_vj5347[BZOJ5347]冒泡排序[思维]

  • java tess4j训练库_Java 验证码识别库 Tess4j 学习

    java tess4j训练库_Java 验证码识别库 Tess4j 学习Java验证码识别库Tess4j学习【在用java的Jsoup做爬虫爬取数据时遇到了验证码识别的问题(基于maven),找了网上挺多的资料,发现Tess4j可以自动识别验证码,在这里简单记录下学习过程及遇到的一些问题。】步骤:需要在步骤一的tessdata文件中加入相关语言包(训练文件),在这里下载:https://github.com/tesseract-ocr/tessdata,如果是简…

  • mysql读写分离原理详解(主从复制和读写分离)

    主库记录二进制日志。在每次准备提交事务完成数据更新前,主库将数据更新的事件记录到二进制日志中。MySQL会按事务提交的顺序而非每条语句的执行顺序来记录二进制日志。在记录二进制日志后,主库会告诉存储引擎可以提交事务了。下一步,备库将主库的二进制日志复制到其本地的中继日志中。首先,备库会启动一个工作线程,称为I/O线程,I/O线程跟主库建立一个普通的客户端连接,然后在主库启动一个特殊的二进制转储线程,…

  • AC 自动机_模式匹配自动机

    AC 自动机_模式匹配自动机学习AC自动机的前提是要会trie数和KMP字符串匹配,它的功能是能对好多个模式串进行同时查找。比如对4个模式串:hehershisshe在一条母串中:shejjjjj查找每个模式串出现的次数.我们知道KMP算法有个next数组,和KMP类似,AC自动机有一个fail指针数组,用来对整棵trie树进行滚动。AC 自动机:HUD 3065:#i

    2022年10月29日
  • django配置文件详解_django实时读取日志

    django配置文件详解_django实时读取日志前言django框架的日志通过python内置的logging模块实现的,既可以记录自定义的一些信息描述,也可以记录系统运行中的一些对象数据,还可以记录包括堆栈跟踪、错误代码之类的详细信息。log

  • 《Android应用开发揭秘》读书笔记——android学习目录

    《Android应用开发揭秘》读书笔记——android学习目录声明:学习的书籍《Android应用开发揭秘》,这里记录学习该书籍的日志,引用的相关代码与总结描述,没有商业的用途,完全是自我学习的一个记录。开发环境JDK6.0+Eclipse3.6+androidsdk2.2,因为自己手机就是2.2版本的,刚开始学没选最新版本。链接目录如下:【android基础学习之一】——事件的监听与触发【android基础学习之二】——基础控件ListVie…

发表回复

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

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