php str_ireplace()str_replace用法及别区
发布:smiling 来源: PHP粉丝网 添加日期:2014-09-13 15:01:28 浏览: 评论:0
在php中str_ireplace()str_replace函数就是字符替换了,我觉得他们最大的区别就是一个对大小写不敏感,一个对大小写敏感其它的都一样.
str_replace() 函数
定义:使用一个字符串替换字符串中的另一些字符,对大小写敏感的搜索.
语法:str_replace(find,replace,string,count)
实例,代码如下:
<?php echo str_replace("seo","hupeng","seo studying SEO");?>
输出hupeng studying
str_ireplace() 函数
定义:使用一个字符串替换字符串中的另一些字符,对大小写不敏感的搜索
语法:str_ireplace(find,replace,string,count)
实例,代码如下:
<?php echo str_ireplace("seo","hupeng","www.phpfensi.com SEO");?>
输出:hupengstudying.com hupeng
通过上面的描述和实例对比,相信大家都很清楚的了解了php中str_replace() 函数与str_ireplace() 函数的区别.
str_replace使用,大家可以实际运行下下面的代码,调试一下,代码如下:
- <?php
- // Provides: <body text='black'>
- $bodytag = str_replace("%body%", "black", "<body text='%body%'>");
- // 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的工作方引起的,因为一个汉字是占两个字节的,全角空格也相当于汉字一样占两个字节,一个区码,一个位码,不过位码和区码有重叠的部分,如以下代码:
- <?php
- /*
- xa1xa1 => " " (中文全角空格)
- xcdxa1 => "汀"
- xa1xa3 => "。" (中文全角句号)
- xcdxa3 => "停"
- */
- $str = "汀。";
- echo str_replace(" ", "", $str);
- ?>;
以上代码的输出结果是 "停" 字,因为str_replace是一个字节一个字节的对比,所以会出错.
Tags: php str_ireplace() str_replace
相关文章
- ·PHP 是什么?(2013-11-12)
- ·Php.ini文件位置在哪里 Php.ini文件找不到(2013-11-12)
- ·PHP 数据类型(2013-11-12)
- ·php 获取当前脚本的url(2013-11-12)
- ·php技术生成静态页面的实现(2013-11-13)
- ·缺陷月项目启动 披露PHP脚本语言漏洞(2013-11-13)
- ·在PHP中全面阻止SQL注入式攻击(2013-11-13)
- ·php生成随机密码的几种方法(2013-11-13)
- ·PHP中使用FCKeditor2.3.2配置(2013-11-13)
- ·如何使用PHP开发高效的WEB系统(2013-11-13)
- ·php:树形结构的算法(2013-11-13)
- ·php4和php5区别(2013-11-13)
- ·php数据库连接(2013-11-13)
- ·如何正确理解PHP的错误信息(2013-11-13)
- ·php页面漏洞分析及相关问题解决(2013-11-13)
- ·当在连接PHP时,抱怨一些数值没有定义参考?(2013-11-27)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)