IT技术学习网
IT技术学习网
您的位置: 主页 > 编程技术 > php > php函数 >

php字符串替换用str_replace()函数,别用strtr()

2014-04-29 22:28 来源: IT技术学习网 阅读:
作为php初学者,在查找能实现字符串替换功能的php函数的时候,可能会碰到这两个函数:str_replace()和strtr()

作为初学者,因为strtr()函数名称的简短,语法的简洁可能会倾向于先尝试使用strtr()

但笔者在尝试过以后,发现strtr这个函数并不是字符串替换的合适选择,我们应该使用str_replace()函数

下面是str_replace()的语法:

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

其中mixed类型在这里代表可以接受字符串和数字,我们以字符串为例:

str_replace("it","i love it","itjsxx.com")

将itjsxx.com中的it替换为i love it,结果为"i love itjsxx.com"

注意:被查找字符串参数是在第三个,不是第一个。这个可能有点让人不太习惯。

再来说说strtr()为什么不适合做字符串替换

下面是strtr()的语法:

string strtr ( string $str , string $from , string $to )

该函数返回 str 的一个副本,并将在 from 中指定的字符转换为 to 中相应的字符

看起来是很简洁很好用很没有问题的一个字符串替换函数,但是实际却有两个大问题:

1.from和to的长度必须相当,如果不相等多余的字符部分将被忽略。

2.from和to的基本操作单位是字符,而不是字符串。假设from是"io",to是"ef",它的意思是所有i字符替换为e,所有o字符替换为f,根本不是我们所期望的"io"替换为"ef"。这结果与我们的需求完全是大相径庭。

因此,strtr这个函数,根本不适合一般的替换需求。如果有特殊的替换需求符合此函数,可以选用此函数。php字符串替换,还是用str_replace()正解

php字符串替换用str_replace()函数,别用strtr()
转载需注明出处:IT技术学习网 http://www.itjsxx.com/php/php_str_replace.html

标签:
  • php字符串
  • php替换
  • php函数
  • 评论文章 php字符串替换用str_replace()函数,别用strtr()
    评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
    IT技术学习网 - 关于我们 - 联系我们 - 版权声明 - 网站地图