分享

php将指定字符串替换的方法

 Fengsq501u81r4 2021-10-08

在PHP中,有两个函数可以实现字符串替换,strtr()和str_repalce()函数。

一、首先我们简单了解下strtr()函数的定义及语法。

strtr:转换指定字符。

第一种语法:

string strtr( string $str, string $from, string $to)

第一个参数表示待转换的字符串。

第二个参数表示字符串中与将要被转换的目的字符 to 相对应的源字符。

第三个参数表示字符串中与将要被转换的字符 from 相对应的目的字符。

<?php$str = 'PHP拥抱每一种H生活!';echo $str;echo strtr($str, 'P', 'A') . '';echo '</br>';echo strtr($str, 'PP', 'B') . '';echo '</br>';echo strtr($str, 'P', ' ') . '';echo '</br>';echo strtr($str, 'PH', '12') . '';echo '</br>';?>结果:PHP拥抱每一种H生活!AHA拥抱每一种H生活!BHB拥抱每一种H生活!H 拥抱每一种H生活!121拥抱每一种2生活!

大家可以结合代码和返回值来了解strtr函数这种语法替换字符串的规则。

这里有的朋友可能对第二行“PP”替换“B”的结果有些疑惑,这是因为如果要转换两个相同的目的字符,那么是以最后一个字符的值为标准。

由于这里最后一个“P”对应的是“B”,所以替换结果就从“PHP拥抱每一种H生活!”转换为“BHB拥抱每一种H生活!”。

第三行显示则是替换空格符的结果,也是非常容易理解的。其余情况替换对应的字符即可。

第二种语法:

string strtr( string $str , array $replace )

第一个参数表示待转换的字符串。

第二个参数表示以数组键值形式替换指定字符串。

<?php$str = 'PHP拥抱每一种生活!';echo $str;echo '</br>';echo strtr($str, array('每' => '22')) . '';echo '</br>';echo strtr($str, array('每' => '。', '生活' => '状态')) . '';echo '</br>';?>结果:PHP拥抱每一种生活!PHP拥抱22一种生活!PHP拥抱。一种状态!

PHP中strtr函数也可以实现中文字符串替换。

使用strtr函数不仅可以实现多个字符串替换还能实现中文字符串替换等。

二、str_replace()函数以其他字符替换字符串中的一些字符(区分大小写)。

该函数必须遵循下列规则:

如果搜索的字符串是数组,那么它将返回数组。

如果搜索的字符串是数组,那么它将对数组中的每个元素进行查找和替换。

如果同时需要对数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余元素将用空字符串进行替换

如果查找的是数组,而替换的是字符串,那么替代字符串将对所有查找到的值起作用。

注释:该函数区分大小写。请使用str_ireplace()函数执行不区分大小写的搜索。

注释:该函数是二进制安全的。

<?php$arr = array('blue','red','green','yellow');print_r(str_replace('red','pink',$arr,$i));echo '</br>';echo '替换数:$i';echo '</br>';$find = array('Hello','world');$replace = array('B','Q');$arr = array('Hello','world','!');print_r(str_replace($find,$replace,$arr));?> 结果:Array ( [0] => blue [1] => pink [2] => green [3] => yellow )替换数:1Array ( [0] => B [1] => Q [2] => ! )

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多