php str_replace替换指定次数的方法详解_php技巧_脚本之家

把字符串 "Hello world!" 中的字符 "world" 替换为 "Shanghai":

定义和用法 str_replace()
函数使用一个字符串替换字符串中的另一些字符。 语法
str_replace(find,replace,string,count)参数 描述 find
必需。规定要查找的值。 replace 必需。规定替换 find 中的值的值。 string
必需。规定被搜索的字符串。 count 可选。一个变量,对替换数进行计数。
提示和注释 注释:该函数对大小写敏感。请使用 str_ireplace()
执行对大小写不敏感的搜索。 注释:该函数是二进制安全的。 例子 1 复制代码 代码如下:

PHP str_replace方法,替换字符串

输出: Hello John! 例子 2 在本例中,我们将演示带有数组和 count
变量的 str_replace() 函数: 复制代码
代码如下:

定义和用法str_replace() 函数替换字符串中的一些字符。

输出: Array ( [0] => blue [1] => pink [2] => green [3]
=> yellow ) Replacements: 1 例子 3 复制代码 代码如下:

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

输出: Array ( [0] => B [1] => [2] => ! )漏洞相关函数:

如果搜索的字符串是一个数组,那么它将返回一个数组。
如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和替换。
如果同时需要对某个数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余的元素将用空字符串进行替换。
如果是对一个数组进行查找,但只对一个字符串进行替换,那么替代字符串将对所有查找到的值起作用。

"str_replace函数的声明大概是这样:str_replace($search,$replace,$input[,&$count]),比如在对一个字符串进行替换操作,$input就是源字符串.这很不合理,因为它把数据源放在第3位,而str_pos,strtok,str_repeat等等函数都是把数据源放在第1位.也就是说str_replace并没有替换掉数组中相对应的字符串,而是把数组中的第一个替换,然后把相同的字符串后多余的合并。解决办法:functionstrrplace{if{foreach{$data=str_replace_once($value,$arr2[$key],$data);}}return$data;}functionstr_replace_once($needle,$replace,$data)//替换第一次{$pos=strpos;if{return$data;}returnsubstr_replace($data,$replace,$pos,strlen;}

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

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

str_replace(find,replace,string,count)

参数

描述

find 必需。规定要查找的值。 replace 必需。规定替换find中的值的值。
string 必需。规定被搜索的字符串。 count
可选。一个变量,对替换数进行计数。

返回值:

返回带有替换值的字符串或数组。

PHP 版本:

4+

更新日志:

相关文章

Comment ()
评论是一种美德,说点什么吧,否则我会恨你的。。。