strtr(string,from,to):

逐个字符开始替换,以from跟to中长度较较短的一个为准,例如:

strtr("aidenliu","ai","b") 只替换原始字符串中出现的a 输出:bidenliu

strtr("aidenliu","a","bc") 只替换原始字符串中出现的a 输出:bidenliu

此函数是大小写敏感的,具如果发生多次替换,每一次替换的蓝本都是最原始的那个字符串,而不是在前一次替换的基础上替换,如

strtr("aidenliu","aA","A@") 会输出Aidenliu 而不是@idenliu

strtr(string,array):

array 为关联数组,用关联数组中的值替换原始字符串中出现的对应的键,如果发生多次替换,每次替换的对像都是最原始的那个字符串,而不是在一次替换的基础上替换(此点与str_replace不同)

strtr(string,from,to)与 strtr(string,array):

strtr(string,from,to)是逐个字符替换,而strtr(string,array)是字符串替换

strtr("aidenliu","ai","") 不发生替换(第二个参数为零长度字符串)

strtr("aidenliu",array("ai"=>"")) 发生替换

参考如下文章:

php中替换函数主要有strtr(),str_repalce()这两个函数,但你们都知道他们这两个函数的区别和用法吗?

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

strtr(string,from,to)

或者strtr(string,array)

首先针对strtr函数第一种方式:

我们看看下面的举例:

得到的结果是:

I lOve yOu

这个结果提醒我们:

1.strtr它是区分大小写的
2.strtr的替换是很特殊的,你注意看后面那个yOu,中间的O被替换的,这显然不是我们的本意。
再举一个特殊例子,说明这个php的sttr函数的怪异

结果是:

I Love you

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

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

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

结果是:

I lOvEs yOu

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

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

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

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

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

那怎么用才舒服?

这就是它的第二种情况:

strtr(string,array)

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

结果为:

I Love her sister

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

比如:

结果是:

I hate her sister

再次提醒那个Love 写成love 是行不通的哦。

字符串取代。

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

返回值: 字符串

函数种类: 资料处理

内容说明

本函数将字符串 str 代入 haystack 字符串中,将所有的 needle 置换成 str。mlevine@adtraq.com (11-Apr-1999) 指出在 PHP 3.0.7 版,本函数有些 bug,而 nadeem@bleh.org (05-Jun-1999) 补充在 PHP 3.0.8 版本函数就回复正常了。

使用范例

下例将 %body% 以 black 取代

格式:

[@str_replace("要替换的旧内容", "要取代原内容的新字符", $被替换内容的变量名)]
[@str_replace(array('旧1','旧2','旧3'), array('新1','新2','新3'), $被替换内容的变量名)]
[@str_replace(array('旧1','旧2','旧3'), '新内容', $被替换内容的变量名)]
实例:

多对一替换:想把内容字段里所有的

标签清除掉,替换成空 [@str_replace(array('

','

'), '', $Content)]

一对一替换:想把内容字段里所有的
标签换成

[@str_replace('
', '

', $Content)]

多对多替换:想把内容字段里的
换成
, 同时


,把

全清除 [@str_replace(array('
', '

','

'), array('
','


',''), $Content)]

转载于:https://blog.51cto.com/zqtsx/1349996

PHP替换字符串函数strtr()和str_replace()相关推荐

  1. Python正则替换字符串函数re.sub用法示例(1)

    本文实例讲述了Python正则替换字符串函数re.sub用法.分享给大家供大家参考,具体如下: python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串 然后把它 ...

  2. python字符串替换函数_Python正则替换字符串函数re.sub用法示例

    本文实例讲述了Python正则替换字符串函数re.sub用法.分享给大家供大家参考,具体如下: python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串 然后把它 ...

  3. python中的正则替换字符串函数re.sub

    python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串 然后把它替换成自己想要的字符串的方法 re.sub 函数进行以正则表达式为基础的替换工作 下面是一段示例 ...

  4. sql 替换字符串函数_你有一份Excel文本函数大全,请注意查收(下)

    点击关注上方"SQL数据库开发", 设为"置顶或星标",第一时间送达干货 之前给大家分享了Excel文本函数的上中两部分,没有看的小伙伴可以戳这里: 你有一份E ...

  5. SQL替换字符串函数replace()

    REPLACE ( str, from_str, to_str ) str:需要被修改的字符串 from_str:要被替换的子字符串 to_str :新的子字符串 SELECT REPLACE(&qu ...

  6. PostgreSQL全局替换字符串函数

    因为特殊原因,需要将数据库里所有表的所有字段中带有某字样的数据替换成另外一个数据,当然有很多种实现方法,我就直接写了个数据库函数解决了,话不多说上代码. create or replace funct ...

  7. python替换字符串元素_python替换字符串中的子串图文步骤

    python替换字符串中的子串图文步骤 修改字符串本身是不可能的,因为字符串是不可变类型,只能是通过某些方法来产生它的副本.再把副本赋值给原字符串,达到类似替换的作用.这里介绍几种方法. 旧串换新串: ...

  8. PHP数组函数和字符串函数

    (一)PHP核心数组函数 与数组索引与值相关的函数 1.array_keys():把数组的索引下标合并到一个新数组中: 2.array_values():把数组的值合并到一个新数组中: 与数据结构相关 ...

  9. MySQL高级 - SQL技巧 - 数字函数与字符串函数

    数字函数 函数名称 作 用 ABS 求绝对值 SQRT 求二次方根 MOD 求余数 CEIL 和 CEILING 两个函数功能相同,都是返回不小于参数的最小整数,即向上取整 FLOOR 向下取整,返回 ...

最新文章

  1. jdk动态代理源码学习
  2. KindEditor得不到textarea值的解决方法----摘至天涯
  3. 微软必应从.NET Core 2.1获得了性能提升
  4. GPU 编程入门到精通(三)之 第一个 GPU 程序
  5. Redis设计与实现AOF持久化
  6. JavaScript中的闭包
  7. 基于matlab的pcb焊盘,EDA复习题
  8. python平方数迭代器_Python三大神器之迭代器详解
  9. opengl 实时波形显示_OpenGL1------OpenGL概述
  10. MyCat分布式数据库集群架构工作笔记0013---高可用_Mycat双主双从复制配置上
  11. Gulp介绍与入门实践
  12. 软件工程导论 四则运算
  13. Android URL Scheme
  14. SOIC 和 SOP区别
  15. Windows Anaconda Pytorch pkgs安装 - 相关问题
  16. (Modern Family S01E01) Part 9 PhilClair 射Luke、Haley和Dylan躺床上看电影
  17. 企业软文推广应该怎么做,软文写作指导
  18. 电路的基本概念(1) 自学笔记
  19. 生成1至10位随机数
  20. anaconda-navigaotr出现adding featured channels并无法正常打开_CodingPark编程公园

热门文章

  1. eclipse修改文件代码不起作用,输出时还是老的,估计是缓存问题
  2. 网上银行跨行转账收费最高相差25倍 省钱有窍门
  3. 校园二手平台的开发和利用
  4. JVM(13)之 阶段回顾
  5. PHP中全局变量global和$GLOBALS[]的区别分析
  6. 基于HTML5 Canvas实现工控2D叶轮旋转
  7. 【西交ACM】100 A+B problem
  8. 80个Python经典资料(教程+源码+工具)汇总——下载目录
  9. 【排序】快速排序,C++实现
  10. .NET Core 2.0 Preview 2为开发人员带来改进