php中替换字符串函数strtr()和str_repalce()的用法与区别


Posted in PHP onNovember 25, 2016

首先来看看这个php字符串替换函数 strtr()的两种用法:

strtr(string,from,to) 或者strtr(string,array) 首先针对strtr函数第一种方式:

我们看看下面的举例:

<?php
echo strtr("I Love you","Lo","lO");
?>

得到的结果是: I lOve yOu

这个结果提醒我们:

1.strtr它是区分大小写的

2.strtr的替换是很特殊的,你注意看后面那个yOu,中间的O被替换的,这显然不是我们的本意。

再举一个特殊例子,说明这个php的sttr函数的怪异

<?php
echo strtr("I Love you","Love","");
?>

结果是: I Love you

什么也不会改变,所以strtr需要注意的是:

3.不能被替换为空,也就是末位那个参数不能是空字符串,当然空格是可以的。

再次举例strtr函数的另一种情况:

<?php
echo strtr("I Loves you","Love","lOvEA");
?>

结果是: I lOvEs yOu

注意看第三个参数的A,在结果中并没有出现。

4.我不建议用strtr以少换多。

ok,既然这个strtr函数挺麻烦为什么还要用呢?

原因是,它的速度很快。据说,strtr 比 str_replace 快四倍。

5.能用strtr函数的时候一定要用。

那怎么用才舒服?

这就是它的第二种情况:

strtr(string,array)

6.strtr符合意愿的使用方法

<?php
$table_change = array('you'=>'her sister');
echo strtr("I Love you",$table_change);
?>

结果为: I Love her sister

7.小技巧:你想到替换什么你就往数组加什么

比如:

<?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 是行不通的哦。

字符串取代。

语法: string str_replace(string needle, string str, string haystack);

返回值: 字符串

函数种类: 资料处理

内容说明:

本函数将字符串 str 代入 haystack 字符串中,将所有的 needle 置换成 str。

下例将 %body% 以 black 取代

<?php
$bodytag = str_replace("%body%", "black", "<body text=%body%>");
echo $bodytag;
?>

格式:

    [@str_replace("要替换的旧内容", "要取代原内容的新字符", $被替换内容的变量名)]

    [@str_replace(array('旧1','旧2','旧3'), array('新1','新2','新3'), $被替换内容的变量名)]

    [@str_replace(array('旧1','旧2','旧3'), '新内容', $被替换内容的变量名)]

实例:

多对一替换:想把内容字段里所有的<p></p>标签清除掉,替换成空 [ @str_replace(array('<p>','</p>'), '', $Content) ]

一对一替换:想把内容字段里所有的<br>标签换成<p> [ @str_replace('<br>', '<p>', $Content) ]

多对多替换:想把内容字段里的<br>换成<br />, 同时<p>换<hr>,把</p>全清除 [ @str_replace(array('<br>', '<p>','</p>') , array('<br />','<hr>',''), $Content) ]

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用PHP能有所帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
PHP中的cookie
Nov 26 PHP
php 计算两个时间戳相隔的时间的函数(小时)
Dec 18 PHP
洪恩在线成语词典小偷程序php版
Apr 20 PHP
深入密码加salt原理的分析
Jun 06 PHP
smarty模板判断数组为空的方法
Jun 10 PHP
PHP上传文件参考配置大文件上传
Dec 16 PHP
Yii操作数据库实现动态获取表名的方法
Mar 29 PHP
PHP中抽象类和抽象方法概念与用法分析
May 24 PHP
轻松掌握php设计模式之访问者模式
Sep 23 PHP
PHP Header用于页面跳转时的几个注意事项
Oct 21 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 PHP
Ajax请求PHP后台接口返回信息的实例代码
Aug 21 PHP
Zend Framework上传文件重命名的实现方法
Nov 25 #PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
Nov 25 #PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
Nov 25 #PHP
php对接java现实加签验签的实例
Nov 25 #PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
Nov 25 #PHP
php实现的网页版剪刀石头布游戏示例
Nov 25 #PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
Nov 25 #PHP
You might like
一个程序下载的管理程序(四)
2006/10/09 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
Yii2压缩PHP中模板代码的输出问题
2018/08/28 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
2020/09/17 PHP
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
2014/03/25 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
设置jQueryUI DatePicker默认语言为中文
2016/06/04 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
JavaScript面向对象分层思维全面解析
2016/11/22 Javascript
详解Vue中过度动画效果应用
2017/05/25 Javascript
基于bootstrap写的一点localStorage本地储存
2017/11/21 Javascript
p5.js入门教程之键盘交互
2018/03/19 Javascript
JS严格模式原理与用法实例分析
2020/04/27 Javascript
nuxt 自定义 auth 中间件实现令牌的持久化操作
2020/11/05 Javascript
[01:43]倾听DOTA2英雄之声 魅惑魔女国服配音鉴赏
2013/06/06 DOTA
[01:27]2014DOTA2展望TI 剑指西雅图IG战队专访
2014/06/30 DOTA
利用Python的Django框架中的ORM建立查询API
2015/04/20 Python
浅谈Python 字符串格式化输出(format/printf)
2016/07/21 Python
Python编程之列表操作实例详解【创建、使用、更新、删除】
2017/07/22 Python
手把手教你用python抢票回家过年(代码简单)
2018/01/21 Python
python文件绝对路径写法介绍(windows)
2019/12/25 Python
必须要使用游标的SQL语句有那些
2012/05/07 面试题
大专毕业生自我评价分享
2013/11/10 职场文书
大客户销售经理职责
2013/12/04 职场文书
运动会方阵解说词
2014/02/12 职场文书
创业融资计划书
2014/04/25 职场文书
警示教育活动总结
2014/05/05 职场文书
妇女干部培训方案
2014/05/12 职场文书
房展策划方案
2014/06/07 职场文书
幼儿园六一活动总结
2014/08/27 职场文书
毕业证丢失证明范本
2014/09/20 职场文书
员工离职感谢信
2015/01/22 职场文书
2015年八一建军节演讲稿
2015/03/19 职场文书
装饰施工员岗位职责
2015/04/11 职场文书
百年孤独读书笔记
2015/06/29 职场文书