PHP中strtr字符串替换用法详解


Posted in PHP onNovember 26, 2014

本文实例讲述了PHP中strtr字符串替换用法。分享给大家供大家参考。具体分析如下:

strtr(string,from,to)或者strtr(string,array)

首先针对strtr函数第一种方式,我们看看下面的举例,代码如下:

<?php 

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",""); 

?>

结果是:
I Love you
什么也不会改变,所以strtr需要注意的是:不能被替换为空,也就是末位那个参数不能是空字符串,当然空格是可以的,再次举例strtr函数的另一种情况,代码如下:
<?php 

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); 

?>

结果为:
I Love her sister
小技巧:你想到替换什么你就往数组加什么,比如代码如下:
<?php 

$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"); 

?>

实例2:当被替换的值长度小于被替换目标的时候,以下为引用的内容,代码如下:
<?php

//这个时候输出的为laocai而不是lacai,因为str("pao")>strlen("la")

echo strtr("paocai!","pao","la");

?>

实例3:支持数组替换,以下为引用的内容,代码如下:
<?php

$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! 

?>

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP教程 基本语法
Oct 23 PHP
php函数之子字符串替换&amp;#65279; str_replace
Mar 23 PHP
php的$_FILES的临时储存文件与回收机制实测过程
Jul 12 PHP
php下载excel无法打开的解决方法
Dec 24 PHP
什么情况下可以不写PHP的闭合标签“?&gt;”
Aug 28 PHP
php rsa加密解密使用详解
Jan 14 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
Jun 12 PHP
php车辆违章查询数据示例
Oct 14 PHP
PHP实现无限分类的实现方法
Nov 14 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
Nov 06 PHP
PHP面向对象之里氏替换原则简单示例
Apr 08 PHP
PHP之header函数详解
Mar 02 PHP
thinkphp模板继承实例简述
Nov 26 #PHP
thinkphp中空模板与空模块的用法实例
Nov 26 #PHP
PHP中SimpleXML函数用法分析
Nov 26 #PHP
ThinkPHP模板输出display用法分析
Nov 26 #PHP
php中数字、字符与对象判断函数用法实例
Nov 26 #PHP
PHP中array_slice函数用法实例详解
Nov 25 #PHP
ThinkPHP框架设计及扩展详解
Nov 25 #PHP
You might like
PHP开发文件系统实例讲解
2006/10/09 PHP
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
2010/06/04 PHP
ThinkPHP框架里隐藏index.php
2016/04/12 PHP
超级酷和最实用的jQuery实例收集(20个)
2010/04/21 Javascript
Bookmarklet实现启动jQuery(模仿 云输入法)
2010/09/15 Javascript
javascript 广告后加载,加载完页面再加载广告
2010/11/25 Javascript
密码强度检测效果实现原理与代码
2013/01/04 Javascript
纯js分页代码(简洁实用)
2013/11/05 Javascript
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
2016/01/26 Javascript
详解A标签中href=&quot;&quot;的几种用法
2017/08/20 Javascript
ES6学习教程之块级作用域详解
2017/10/09 Javascript
react 实现页面代码分割、按需加载的方法
2018/04/03 Javascript
vue-cli2 构建速度优化的实现方法
2019/01/08 Javascript
vue插槽slot的理解和使用方法
2019/04/03 Javascript
基于Node.js的大文件分片上传示例
2019/06/19 Javascript
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
2020/09/22 Javascript
python3 实现对图片进行局部切割的方法
2018/12/05 Python
浅谈python 读excel数值为浮点型的问题
2018/12/25 Python
Django 使用easy_thumbnails压缩上传的图片方法
2019/07/26 Python
Python IDE Pycharm中的快捷键列表用法
2019/08/08 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
2019/10/24 Python
Django使用Profile扩展User模块方式
2020/05/14 Python
解决运行出现'dict' object has no attribute 'has_key'问题
2020/07/15 Python
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
Farfetch美国:奢侈品牌时尚购物平台
2019/05/02 全球购物
nohup的用法
2012/11/26 面试题
税务专业毕业生自荐信
2013/11/10 职场文书
大学四年职业生涯规划书范文
2014/01/02 职场文书
艺术节主持词
2014/04/02 职场文书
投资合作协议书
2014/04/17 职场文书
蟋蟀的住宅教学反思
2014/04/26 职场文书
城管年度个人总结
2015/02/28 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js