php str_ireplace()str_replace用法及别区_PHP教程
str_replace() 函数
定义:使用一个字符串替换字符串中的另一些字符,对大小写敏感的搜索
语法:
str_replace(find,replace,string,count)
实例:
代码如下 | 复制代码 |
输出
hupengstudying.com hupeng
通过上面的描述和实例对比,相信大家都很清楚的了解了php中str_replace() 函数与str_ireplace() 函数的区别
str_replace使用
大家可以实际运行下下面的代码,调试一下。
$bodytag = str_replace("%body%", "black", "
// Provides: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
// Provides: You should eat pizza, beer, and ice cream every day
$phrase = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy = array("pizza", "beer", "ice cream");
$newphrase = str_replace($healthy, $yummy, $phrase);
// Use of the count parameter is available as of PHP 5.0.0
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count; // 2
?>
代码如下 | 复制代码 |
str_replace详解
在都不使用数组时,该函数直接使用replace替换所有的search并返回替换后的字符串。如:str_replace("m","n","my name is jim!")返回ny nane is jin!
1、只对search使用数组。
示例:str_replace(array('m','i'),'n',"my name is jim!");返回:ny nane ns jnn!
可以看出,函数顺序性的对数组中每个字符串进行替换,并返回替换后的字符串。
2、只对replace使用数组。
示例:str_replace('m',array('n','z'),"my name is jim!n")返回:Arrayy naArraye is jiArray!
该替换比较有意思,如果只对第二个参数使用数组则函数将其作为字符串Array进行使用,将所有的search替换为了数组。
3、只对subject使用数组。
示例:str_replace("m","n",array("my name is jim!","the game is over!"))该语句执行结果返回一个数组,即分别为传入的两个字符串替换后的结果。
如果输出数组内容会看到:ny nane is jin! the gane is over!
4、对search和replace都使用数组。
示例:str_replace(array("m","i"),array("n","z"),"my name is jim!")返回:ny nane zs jzn!
查看执行结果可以发现,如果前两个参数都使用数组则函数把数组各个对象项字符串进行了替换,及search的第一项替换为replace的第一项。以此类推。
如果search数组比new_deedle长,例如:str_replace(array("m","i","s"),array("n","z"), "my name is jim!");返回:ny nane z jzn!可见,对于search数组多出来的字符串被替换为了空串。
如果replace数组比search长,例如:str_replace(array("m","i"),array("n","z","x"), "my name is jim!")返回ny nane zs jzn!可见replace多余的项被忽略。
5、三个参数都使用数组。
例如:str_replace(array("m","i"),array("n","z"),array("my name is jim!","the game is over"))返回的数组内容:ny nane zs jzn!the gane zs over
这个比较好理解,对两个字符串分别执行替换。
str_replace出现乱码原因分析
乱码问题是汉字编码和str_replace的工作方引起的,因为一个汉字是占两个字节的,全角空格也相当于汉字一样占两个字节,一个区码,一个位码。不过位码和区码有重叠的部分。如以下代码:
代码如下 | 复制代码 |
/* $str = "汀。"; |
以上代码的输出结果是 "停" 字。因为str_replace是一个字节一个字节的对比,所以会出错
推荐阅读
-
php str_ireplace()str_replace用法及别区_PHP教程
-
php中str_replace和str_ireplace的用法和区别
-
PHP setcookie设置Cookie用法(及设置无效的问题)_PHP教程
-
PHP和javascript常用正则表达式及用法实例_PHP教程
-
php str_replace与preg_replace用法区别_PHP教程
-
Thinkphp自定义代码生成工具及用法说明(附下载地址),thinkphp生成工具_PHP教程
-
php上传图片类及用法示例,_PHP教程
-
PHP生成静态HTML的源代码及用法_PHP教程
-
PHP 将数组打乱 shuffle函数的用法及简单实例,打乱shuffle_PHP教程
-
详解PHP中cookie和session的区别及cookie和session用法小结,cookiesession_PHP教程