在之前的文章《PHP怎么将某长度的子串换成*号》中我们介绍了一种字符串替换的方法。这次我们再介绍一种进行字符串替换的方法,看看这种方法如何将给定子串换成*号。
上文介绍的方法是给出替换开始的位置和替换长度,来进行字符串替换。本篇文章给大家介绍另一种方法:直接给出需要替换的子串来进行替换,因为是直接设置替换子串,会有大小写的问题,也就分为两种情况:大小写敏感和大小写不敏感。今天先介绍对大小写敏感的替换方法。
我们来看看下面一个例子:
<?php $str = 'hello,world,Hello,World'; $replace = '*'; $search1 = 'hello'; $search2 = 'world'; echo str_replace($search1, $replace, $str)."<br>"; echo str_replace($search2, $replace, $str)."<br>"; ?>
观察一下上面的代码,我们需要将字符串$str
中的“hello
”和“world
”值替换成*
号;而$str
字符串“hello,world,Hello,World
”中分别有两种替换子串,区别只在于首字母是否大小。
因为使用的是str_replace()函数来进行字符串替换,该函数对大小写敏感,区分大小写,因此只在字符串$str中
搜索“hello
”和“world
”值,并分别将它们替换为*
号。所以输出结果为:
了解了如何区分大小写的将给定子串换成*号。下面我们来了解一下实现这个功能的函数str_replace()。
str_replace($search,$replace,$string,$count)
函数可以区分大小写的替换字符串中的一些字符;该函数接受三个必需参数$search
(要搜索的子串)、$replace
(进行替换的值)、$string
(字符串)和一个可省略的参数$count
(一个变量)。
通过上面的例子,前3个必需参数我们知道它们的意思,下面来聊聊可省略的参数$count
。
参数$count
的值需要设置为一个变量,用于统计并返回执行替换的次数。简单来说,设置了参数$count
,就可以知道一共执行了几次替换。
下面通过代码示例来看看参数$count
的用法。
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $str = 'hello,world,Hello,world'; $replace = '*'; $search1 = 'hello'; $search2 = 'world'; $search3 = ','; echo str_replace($search1, $replace, $str,$i)."<br>"; echo "一共执行了 $i"." 次替换<br><br>"; echo str_replace($search2, $replace, $str,$i)."<br>"; echo "一共执行了 $i"." 次替换<br><br>"; echo str_replace($search3, $replace, $str,$i)."<br>"; echo "一共执行了 $i"." 次替换<br>"; ?>
输出结果:
好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程
最后给大家推荐阅读一个经典课程《PHP字符串处理(玉女心经版)》,免费的~快来学习啊!