搜索
首页后端开发PHP问题PHP巧用函数将给定子串换成*号(大小写不敏感)

在之前的文章中我们介绍了一种字符串替换方法,该方法可以区分大小写的将给定子串替换成其他值,感兴趣的可以点击链接查阅→《PHP如何将给定子串换成*号(大小写敏感)》。这次我们给大家介绍替换字符串中给定子串的另一种方法,有需要的可以参考参考。

上文中我们介绍了使用str_replace()函数替换给定子串的方法,这种方法对大小写敏感(即区分大小写),只要字符串中有一个字符的大小写不符合要求,和给定子串无法完全相同,那么就不会进行替换。

但有时进行字符串替换时,不需要那么严格,可以忽略字符的大小写问题。今天我们就来介绍一下对替换字符大小写不敏感的方法。

我们来看看下面这个例子:

<?php
$str = &#39;hello,world,Hello,World&#39;;
$replace = &#39;*&#39;;
$search1 = &#39;hello&#39;;
$search2 = &#39;world&#39;;
echo str_ireplace($search1, $replace, $str)."<br>";
echo str_ireplace($search2, $replace, $str)."<br>";
?>

观察一下上面的代码,我们需要将$str字符串“hello,world,Hello,World”中的“hello”和“world”子串替换成*号。但$str字符串中符合要求的有两种:一种是完全匹配(大小写一致)的子串,一种是不完全匹配(大小写不一致)的。

但因为我们使用的是str_ireplace()函数,该函数可以忽略大小写,因此会将字符串$str中符合要求的两种子串“hello”和“Hello”、“world”和“World”,都替换为*号。所以输出结果为:

1.png

是不是很简单,下面我们来了解一下这个str_ireplace()函数。

str_ireplace($search,$replace,$string,$count)函数可以忽略大小写的替换字符串中的一些字符,该函数接受的参数和str_replace()函数一样,前3个参数是必需的(不可省略),后一个参数$count是可省略的(但设置了,可以获取替换次数)。

参数$count可以接受一个变量,用来对替换数进行计数;如果设置了该参数,就可以知道一共执行了几次替换。

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$str = &#39;hello,world,Hello,World&#39;;
$replace = &#39;*&#39;;
$search1 = &#39;hello&#39;;
$search2 = &#39;world&#39;;
echo str_ireplace($search1, $replace, $str, $i)."<br>";
echo  "一共执行了  $i"." 次替换<br><br>";

echo str_ireplace($search2, $replace, $str, $i)."<br>";
echo  "一共执行了  $i"." 次替换<br><br>";
?>

输出结果:

2.png

说明:

因为str_ireplace()和str_replace()函数都是直接给出需要替换的子串,所以这两个函数都可以用来替换中文字符。

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$str = &#39;你好,欢迎来到这里!&#39;;
$replace = &#39;*&#39;;
$search1 = &#39;你好&#39;;
$search2 = &#39;欢迎&#39;;
echo str_ireplace($search1, $replace, $str)."<br>";
echo str_replace($search2, $replace, $str)."<br>";
?>

输出结果:

3.png

在纯中文字符串是差不多的,但在中英混合的字符串,因为会区分大小写,可以根据需求来选择使用哪个。

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$str = &#39;你好,欢迎来到PHP中文网!&#39;;
$replace = &#39;这里&#39;;
$search1 = &#39;PHP中文网&#39;;
$search2 = &#39;php中文网&#39;;
echo str_ireplace($search1, $replace, $str)."<br>";
echo str_replace($search2, $replace, $str)."<br>";
?>

输出结果:

5.png

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

 最后给大家推荐阅读一个经典课程《PHP字符串处理(玉女心经版)》,免费的~快来学习啊!

以上是PHP巧用函数将给定子串换成*号(大小写不敏感)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具