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) ]

总结

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

(0)

相关推荐

  • php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例

    本文实例讲述了php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8用法.分享给大家供大家参考,具体如下: /* *gb2312中文字符串截取 */ function substr_for_gb2312($str,$start,$len=null) { $totlelength = strlen($str); //特例情况 if ($len == null) $len = $totlelength; if ($len ==0) return ""

  • PHP 查找字符串常用函数介绍

    一.strstr - 查找字符串的首次出现 string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) 注1:$haystack是当事字符串,$needle是被查找的字符串.该函数区分大小写. 注2:返回值是从needle开始到最后. 注3:关于$needle,如果不是字符串,被当作整形来作为字符的序号来使用. 注4:before_needle若为true,则返回前东西. 复制代码 代码如

  • PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】

    本文实例分析了PHP常见字符串处理函数用法.分享给大家供大家参考,具体如下: <?php $s = "hello world"; //整理 echo 'trim(); ltrim(); rtrim()'; echo '<br />'; echo '长度为: '.strlen($s); echo '<br />'; //大小写 echo '首字母大写: '.Ucfirst($s); echo '<br />'; echo '每个单词首字母大写:

  • PHP开发中常用的字符串操作函数

    1,拼接字符串 拼接字符串是最常用到的字符串操作之一,在PHP中支持三种方式对字符串进行拼接操作,分别是圆点.分隔符{}操作,还有圆点等号.=来进行操作,圆点等号可以把一个比较长的字符串分解为几行进行定义,这样做是比较有好处的. 2,替换字符串 在PHP这门语言中,提供了一个名字叫做substr_replace()的函数,该函数的作用可以快速的完成扫描和编辑文本内容较多的字符串替换功能.他的语法格式: mixed substr_replace(mixed $string,string $repl

  • PHP反转字符串函数strrev()函数的用法

    呵呵,好玩吧,一真的想做一个函数百科网,只是由于我的精力有限了,只写WEB开发笔记,一天一篇文章的更新就已经够忙了,因为,我的职业也不只是写这一个博客,还有其它很多网站需要维护,天天就是写软文,发原创,真够累的,好了,以后有机会,我还是要把函数百科网做起来,希望大家支持. 定义和用法 strrev() 函数反转字符串. 语法 strrev(string) 参数 描述 string 必需.规定要反转的字符串. 例子 复制代码 代码如下: <?php echo strrev("Hello Wo

  • php strstr查找字符串中是否包含某些字符的查找函数

    PHP 判断字符串是否包含其它字符 以下几个函数均可用来判断某字符串是否包含另外一个字符串PHP 中判断一个字符串是否包含其它字符是很常见的操作. 虽然很简单,但还是写了几个函数,质量可能不是很高,权当锻炼. 如果这几个函数恰好能帮上你的忙,我将会很高兴的.这几个函数中,我比较喜欢第四个... 复制代码 代码如下: <?php /** * 以下几个函数均可用来判断某字符串是否包含另外一个字符串 * PHP 中判断一个字符串是否包含其它字符是很常见的操作. * 虽然很简单,但还是写了几个函数,质量

  • php常用字符串String函数实例总结【转换,替换,计算,截取,加密】

    本文实例总结了php常用字符串String函数.分享给大家供大家参考,具体如下: nl2br 功能:化换行符为<br> <?php $str = "cat isn't \n dog"; $result = nl2br($str); echo $result; /**结果 cat isn't dog */ rtrim 功能:清除右边的空白 <?php $str = "Hello world "; echo strlen($str)."

  • php常用字符函数实例小结

    本文实例总结了php常用字符函数.分享给大家供大家参考,具体如下: 1. string substr(string  $string, int $start   [,int    $length]) 函数功能:返回字符串string由start和length参数指定的子字符串. 参数: string:输入字符串. start:如果start是非负数,返回的字符串将从string的start位置开始,从0开始计算.如,'abcdef'中,在位置0的为'a',位置2为'c ': 如果start是负数

  • PHP使用strstr()函数获取指定字符串后所有字符的方法

    本文实例讲述了PHP使用strstr()函数获取指定字符串后所有字符的方法.分享给大家供大家参考,具体如下: PHP的strstr()函数可搜索字符串在另一字符串中的第一次出现位置,并返回字符串的剩余部分. strstr()函数定义如下: strstr(string,search,before_search) 参数说明: string 必需.规定被搜索的字符串. search  必需.规定所搜索的字符串. 如果此参数是数字,则搜索匹配此数字对应的 ASCII 值的字符. before_searc

  • php中利用explode函数分割字符串到数组

    分割字符串 //利用 explode 函数分割字符串到数组 复制代码 代码如下: <?php $source = "hello1,hello2,hello3,hello4,hello5";//按逗号分离字符串 $hello = explode(',',$source); for($index=0;$index<count($hello);$index++) { echo $hello[$index];echo "</br>"; } ?>

  • PHP字符转义相关函数小结(php下的转义字符串)

    文章中有不正确的或者说辞不清的地方,麻烦大家指出了--- 与PHP字符串转义相关的配置和函数如下: 1.magic_quotes_runtime 2.magic_quotes_gpc 3.addslashes()和stripslashes() 4.mysql_escape_string() 5.addcslashes()和stripcslashes() 6.htmlentities() 和html_entity_decode() 7.htmlspecialchars()和htmlspecialc

  • PHP 字符串正则替换函数preg_replace使用说明

    1. preg_replace() $msg = preg_replace("/<style>.+<\/style>/is", "", $msg); -----删除<style></style>和中间的部分 $msg = preg_replace("/<[^>]+>/", "", $msg); -----是删除<>和中间的内容 i (PCRE_CAS

  • php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)

    本文实例分析了php字符串比较函数用法.分享给大家供大家参考,具体如下: 直接比较字符串是否完全一致,可以使用"=="来进行,但是有时候可能需要进行更加复杂的字符串比较,如部分匹配等. 1.strcmp()函数:该函数进行字符串之间的比较,在比较的时候,区分大小写. 声明: strcmp(string str1,string str2) 该函数对传入的两个字符串参数进行比较,如果两个字符串完全相同,则返回0;如果按照字典顺序str1在str2后面,则返回一个正数;如果str1小于str

随机推荐