在前一篇文章中我们讲到了可以通过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教程》进行更多关于PHP知识的学习。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。