PHP中strtr字符串替换用法详解
网络编程 2021-07-05 09:50www.168986.cn编程入门
这篇文章主要介绍了PHP中strtr字符串替换用法,以大量实例详细解读了strtr字符串替换的用法与技巧,并与str_replace做了对比以加深理解,需要的朋友可以参考下
本文实例讲述了PHP中strtr字符串替换用法。分享给大家供大家参考。具体分析如下
strtr(string,from,to)或者strtr(string,array)
针对strtr函数第一种方式,我们看看狼蚁网站SEO优化的举例,代码如下:
代码如下:
<?php
echo strtr("I Love you","Lo","lO");
?>
echo strtr("I Love you","Lo","lO");
?>
得到的结果是
1 I lOve yOu
这个结果提醒我们,1.strtr它是区分大小写的,2.strtr的替换是很特殊的,你注意看后面那个yOu,中间的O被替换的,这显然不是我们的本意,再举一个特殊例子,说明这个php sttr函数的怪异,代码如下:
代码如下:
<?php
echo strtr("I Love you","Love","");
?>
echo strtr("I Love you","Love","");
?>
结果是
I Love you
什么也不会改变,所以strtr需要注意的是:不能被替换为空,也就是末位那个参数不能是空字符串,空格是可以的,举例strtr函数的另一种情况,代码如下:
代码如下:
<?php
echo strtr("I Loves you","Love","lOvEA");
?>
echo strtr("I Loves you","Love","lOvEA");
?>
运行结果是
1 I lOvEs yOu
注意看第三个参数的A,在结果中并没有出现.
我不建议用strtr以少换多,既然这个strtr函数挺麻烦为什么还要用呢?原因是,它的速度很快,据说,strtr 比 str_replace 快四倍,所以能用strtr函数的时候一定要用,那怎么用才舒服?这就是它的第二种情况:strtr(string,array)
strtr符合意愿的使用方法,代码如下:
代码如下:
<?php
$table_change = array('you'=>'her sister');
echo strtr("I Love you",$table_change);
?>
$table_change = array('you'=>'her sister');
echo strtr("I Love you",$table_change);
?>
结果为
I Love her sister
小技巧:你想到替换什么你就往数组加什么,比如代码如下:
代码如下:
<?php
$table_change = array('you'=>'her sister');
$table_change += array('Love' => 'hate');
echo strtr("I Love you",$table_change);
?>
$table_change = array('you'=>'her sister');
$table_change += array('Love' => 'hate');
echo strtr("I Love you",$table_change);
?>
结果是
I hate her sister
提醒那个Love 写成love 是行不通的,乱七八糟说了一通,其实关于strtr最想说的就是这个后面的用法了简单方便,貌似后面的用法也忽略掉了前后字符长度不同的问题,以上php strtr函数实验,PHP5.2 测试通过,代码如下:
代码如下:
<?php
//这个时候输出的为baicai而不是bai123cai,因为str("pao")<strlen("bai123")
echo strtr("paocai!","pao","bai123");
?>
//这个时候输出的为baicai而不是bai123cai,因为str("pao")<strlen("bai123")
echo strtr("paocai!","pao","bai123");
?>
实例2:当被替换的值长度小于被替换目标的时候,以下为引用的内容,代码如下:
代码如下:
<?php
//这个时候输出的为laocai而不是lacai,因为str("pao")>strlen("la")
echo strtr("paocai!","pao","la");
?>
//这个时候输出的为laocai而不是lacai,因为str("pao")>strlen("la")
echo strtr("paocai!","pao","la");
?>
实例3:支持数组替换,以下为引用的内容,代码如下:
代码如下:
<?php
$Arr=array('ao'=>'oa','ai'=>'ia');
echo strtr("paocai!",$Arr); //这个时候输出的为poacia
?>
$Arr=array('ao'=>'oa','ai'=>'ia');
echo strtr("paocai!",$Arr); //这个时候输出的为poacia
?>
是str_replace,以下为引用的内容,代码如下:
代码如下:
<?php
echo str_replace("you","paocai","I love you!"); //会输出I love paocai!
?>
echo str_replace("you","paocai","I love you!"); //会输出I love paocai!
?>
希望本文所述对大家的PHP程序设计有所帮助。
上一篇:thinkphp模板的包含与渲染实例分析
下一篇:thinkphp模板继承实例简述
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程