php替换字符串函数strtr()和str_repalce()有什么区别

php中替换函数主要有strtr(),str_repalce()这两个函数,今天介绍下他们的区别和用法, 先来看看这个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)]

时间: 2024-11-15 20:16:30

php替换字符串函数strtr()和str_repalce()有什么区别的相关文章

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

首先来看看这个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的替换是很特殊的,你注意看后面那个

PHP替换字符串函数strtr()和str_replace()比较

strtr(string,from,to): 逐个字符开始替换,以from跟to中长度较较短的一个为准,例如: strtr("aidenliu","ai","b") 只替换原始字符串中出现的a 输出:bidenliu strtr("aidenliu","a","bc") 只替换原始字符串中出现的a 输出:bidenliu 此函数是大小写敏感的,具如果发生多次替换,每一次替换的蓝本都是最原

MySQL之替换字符串函数replace()的使用

最近更换了博客的代码高亮插件,以前用的是SyntaxHighlighter: 代码格式: <pre class="brush: php; gutter: true"> //代码区 ...... </pre>现在换成了Crayon Syntax Highlighter: <pre class="lang_php decode_true"> //代码区 ...... </pre>代码高亮的区域不一样,又有很多文章需要改,好

php 替换字符串中第N次出现的字符代码

比如有一个字符串:$a='hello world hello pig hello cat hello dog hello small boy'; 然后想将第3次出现的hello 改变成为good-bye,比如: 'hello world hello pig good-bye cat hello dog hello small boy': 这样的情况,我一时半会没找到PHP的内置函数,而且在要求不能使用正则表达式的情况下,就编写了这个简易的小函数,如果大家有好的内置函数推荐,欢迎留言:)  代码如

sql replace替换字符函数

mysql替换字符串函数replace可以实现把某字段的某些字符串替换成其他字符串,例如  代码如下 复制代码 update dede_addonarticle set body=replace(body,'news/uploads/allimg/c110826','news/uploads/blank.gif?') 可以把dedecms的文章内容表所有的图片链接替换成空白图片,这样就可以去把已经上传的大量图片删除以节省空间了

JavaScript使用replace函数替换字符串的方法

 本文实例讲述了JavaScript使用replace函数替换字符串的方法.分享给大家供大家参考.具体如下: JavaScript通过replace函数替换字符串,下面的代码将Visit Microsoft中的MicroSoft替换成jb51.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <!DOCTYPE html> <html> <body> <p> Click the button to rep

sql 字符串替换处理函数

sql 字符串替换处理函数 create function dbo.regexreplace ( @source varchar(5000),    --原字符串 @regexp varchar(1000),    --正则表达式 @replace varchar(1000),   --替换值 @globalreplace bit = 0,   --是否是全局替换 @ignorecase bit = 0       --是否忽略大小? ) returns varchar(1000) as beg

JavaScript使用replace函数替换字符串的方法_javascript技巧

本文实例讲述了JavaScript使用replace函数替换字符串的方法.分享给大家供大家参考.具体如下: JavaScript通过replace函数替换字符串,下面的代码将Visit Microsoft中的MicroSoft替换成jb51.net <!DOCTYPE html> <html> <body> <p> Click the button to replace "Microsoft" with "jb51.net&qu

PHP字符串函数大全

1查找字符位置函数: strpos($str,search,[int]):查找search在$str中的第一次位置从int开始: stripos($str,search,[int]):函数返回字符串在另一个字符串中第一次出现的位置.该函数对大小写不敏感 strrpos($str,search,[int]):查找search在$str中的最后一次出现的位置从int 2.提取子字符函数(双字节) submit($str,int start[,int length]):从$str中strat位置开始提