首页后端开发PHPPHP字符串的替换两种方法有什么不同呢

PHP字符串的替换两种方法有什么不同呢

时间2024-03-22 13:55:03发布访客分类PHP浏览1221
导读:这篇文章给大家分享的是“PHP字符串的替换两种方法有什么不同呢”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“PHP字符串的替换两种方法有什么不同呢”吧。...
这篇文章给大家分享的是“PHP字符串的替换两种方法有什么不同呢”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“PHP字符串的替换两种方法有什么不同呢”吧。


在前一篇文章中我们讲到了可以通过addslashes() 函数和 stripslashes() 函数来对字符串进行转义和还原操作,对字符串进行转义这是在开发过程中很常见的操作,同样的对字符串的替换操作也是十分常见的。

在PHP想要完成一个字符串的替换或者一个字符串特定字符的替换,可以通过PHP提供的substr_replace 函数与 str_replace 函数。这两个函数应该怎样去使用,两者又有什么分别,接下来让我们一起来看一下。

substr_replace()函数-替换字符串的一部分

想要在PHP中替换字符串的一部分的话,可以通过PHP提供的substr_replace()函数,substr_replace()函数得基本语法格式如下:

substr_replace(string,replacement,start,length)

其中需要注意的是,参数string表示的是需要进行替换的字符串,参数replacement表示的是要插入的字符串,也就是要替代的字符串,参数start表示的是从那个位置开始替换字符串,参数length表示替换的长度。

参数start是正数的话,替换的位置就从参数start的位置开始算,若参数start是负数的话,参数的替换位置从结尾处开始到start的位置开始算。若是0的话就从第一的位置开始。

参数length若是正数的话,表示被替换字符数的长度,若是负数的话,表示待替换的子字符串结尾处距离 string 末端的字符个数,若是0的话就表示直接插入而不是替换。还有就是如果 start 是负数且 length 小于等于 start ,则 length 为 0

该函数返回的结果就是被替换的字符串。

下面我们通过示例来看一下substr_replace()函数的使用,示例如下:

?php
$str = 'abcdef';
    
$replace = '###';
    
echo substr_replace($str, $replace, 0,5);
    
echo 'br/>
    ';
    
echo substr_replace('abcdef', '###', 1);
        //输出 a###
echo 'br/>
    ';
    
echo substr_replace('abcdef', '###', 1, 2);
     //输出 a###def
echo 'br/>
    ';
    
echo substr_replace('abcdef', '###', -3, 2);
        //输出 abc###f
echo 'br/>
    ';
    
echo substr_replace('abcdef', '###', 1, -2);
        //输出 a###ef
?>
    

输出结果:

上述示例中,通过substr_replace()函数能够完成替换字符串的一部分,接下来我们来看一下str_replace 函数的使用。

str_replace 函数

上文中我们已经能够通过substr_replace()函数来把字符串的一部分替换为另一个字符串,而str_replace 函数能够使用一个字符串替换字符串中的另一些字符,str_replace 函数的基本语法格式如下:

str_replace(find,replace,string,count)

其中我们需要注意的是,参数find表示要查找的值,参数replace表示要替换查找的值,参数string表示规定被搜索的字符串,参数count表示对替换数进行计数的变量。

该函数的返回值就是带有替换值的字符串或数组,接下来我们通过示例来看一下str_replace 函数的使用,示例如下:

?php
echo str_replace("world","earth","Hello world!") . 'br/>
    ';
           //输出 Hello earth!
//替换多个,且第二个参数为空字符
echo str_replace("o","","Hello world!") . 'br/>
    ';
                //输出 Hell wrld!
//使用数组
$arr = array("e", "o");
    
$arr2 = array("x", "y");
    
echo str_replace($arr, $arr2, "Hello World of PHP", $i) . 'br/>
    ';
        //输出 Hxlly Wyrld yf PHP
echo $i;
                                //输出4 
?>
    

输出结果:

上述示例中便是通过str_replace 函数使用一个字符串替换字符串中的另一些字符,下面我们再看一个示例:

?php
$arr = array("blue","red","green","yellow");
    
print_r(str_replace("red","pink",$arr,$i));
    
echo 'br/>
    ' . "替换数:$i" . 'br/>
    ';
    
$find = array("Hello","world");
    
$replace = array("B");
    
$arr1 = array("Hello","world","!");
    
print_r(str_replace($find,$replace,$arr1));
    
?>
    

输出结果:

如此便是通过str_replace 函数使用带有需要替换的元素少于查找到的元素。

上文中str_replace 函数与substr_replace()函数都能够达到替换字符串的目的,如果是进行大小写不敏感的查找替换,建议还是使用 str_ireplace()函数。


通过以上内容的阐述,相信大家对“PHP字符串的替换两种方法有什么不同呢”已经有了进一步的了解,更多相关的问题,欢迎关注网络或到官网咨询客服。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

PHP字符串

若转载请注明出处: PHP字符串的替换两种方法有什么不同呢
本文地址: https://pptw.com/jishu/650588.html
常见SQL注入类型及SQL注入原理怎么理解 PHP常量的定义方法有什么,常量值怎样获取呢

游客 回复需填写必要信息