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实现登陆验证码(类似条行码状)
Oct 09 PHP
PHP实现文件安全下载
Oct 09 PHP
PHP的ASP防火墙
Oct 09 PHP
php操作sqlserver关于时间日期读取的小小见解
Nov 29 PHP
php 日期时间处理函数小结
Dec 18 PHP
php关于array_multisort多维数组排序的使用说明
Jan 04 PHP
计算php页面运行时间的函数介绍
Jul 01 PHP
一个php生成16位随机数的代码(两种方法)
Sep 16 PHP
PHP易混淆函数的区别及用法汇总
Nov 22 PHP
PHP 多任务秒级定时器的实现方法
May 13 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
Mar 11 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
Jul 06 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
珊瑚虫IP库浅析
2007/02/15 PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
详解php魔术方法(Magic methods)的使用方法
2016/02/14 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
2016/05/30 PHP
php实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
2018/10/14 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
js中的string.format函数代码
2020/08/11 Javascript
jquery解决图片路径不存在执行替换路径
2013/02/06 Javascript
简单几行JS Code实现IE邮件转发新浪微博
2013/07/03 Javascript
jquery事件重复绑定的快速解决方法
2014/01/03 Javascript
jquery跟js初始化加载的多种方法及区别介绍
2014/04/02 Javascript
一个支付页面DEMO附截图
2014/07/22 Javascript
javascript组合使用构造函数模式和原型模式实例
2015/06/04 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
js仿腾讯QQ的web登陆界面
2016/08/19 Javascript
jQuery zTree树插件动态加载实例代码
2017/05/11 jQuery
详解使用vue-cli脚手架初始化Vue项目下的项目结构
2018/03/08 Javascript
jQuery实现基本淡入淡出效果的方法详解
2018/09/05 jQuery
layui导出所有数据的例子
2019/09/10 Javascript
通过layer实现可输入的模态框的例子
2019/09/27 Javascript
Vue中添加滚动事件设置的方法详解
2020/09/14 Javascript
python SSH模块登录,远程机执行shell命令实例解析
2018/01/12 Python
PyQt5每天必学之日历控件QCalendarWidget
2018/04/19 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
2020/01/20 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
Bootstrap File Input文件上传组件
2020/12/01 HTML / CSS
Hotels.com英国:全球领先的酒店住宿提供商
2019/01/24 全球购物
Everlast官网:拳击、综合格斗和健身相关的体育用品
2020/08/03 全球购物
下面关于"联合"的题目的输出是什么
2013/08/06 面试题
土木工程实习生自我鉴定
2013/09/19 职场文书
六一儿童节开幕词
2015/01/29 职场文书
2015国庆节66周年标语
2015/07/30 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书
Nginx利用Logrotate实现日志分割
2022/05/20 Servers