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

该函数返回一个字符串或者数组。该字符串或数组是将 subject 中全部的 search 都被 replace 替换之后的结果。

返回值和前三个参数都可以为字符串或数组二者其一。第四个参数指定一个变量名为替换次数。


例1:参数全部为字符串。

$bodytag  =  str_replace ( "%body%" ,  "black" ,  "<body text='%body%'>" );

=>"<body text='black'>"

例2:参数1为数组,23为字符串。

$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U", "P", "h");
$onlyconsonants = str_replace($vowels, "@", "Hello world of php", $count);

=>"H@ll@ w@rld @f p@p" //这个例子的p没有被P匹配到。说明这个函数是大小写敏感的。如果需要忽略大小写可用str_ireplace()函数,用法一毛一样。

=>$count =>5//替换了5次。分别是 e、 o、 o、 o、 h

例3:

$str = "Line 1\nLine 2\rLine 3\r\nLine 4\n";
$order = array("\r\n", "\n", "\r");
$replace = '<br/>';
$newStr = str_replace($order, $replace, $str, $count);

=>$count=>4//替换了4次。分别是\n、\r、\r\n、\n。注意,⚠️因为$order中把\r\n写在前面所以第三次匹配没有分成两次\r,\n。

例4:

$letters  = array( 'a' ,  'p' );
$fruit = array( 'apple' , 'pear' );
$text = 'a p' ;
$output = str_replace ( $letters , $fruit , $text , $count);
echo $output ;
echo $count;

=>猜一下会输出啥吧。例4能搞定。这个函数就可以了。

php中的字符串常用函数(三) str_replace() 子字符串替换的更多相关文章

  1. php中的字符串常用函数(二) substr() 截取字符串

    //substr($str, startIndex, length) //截取方向都是从左向右的. //length不写默认截取到最后一个. //length为正是个数(包括开头的个数),为负是索引( ...

  2. php中的字符串常用函数(一) strpos() 子字符首次出现的位置

    strpos($str, $needle); 1.返回$needle在$str首次出现的位置.(大小写敏感). 2.从php5开始$needle支持多字符.php4只能用单个字符. 3.能找到$nee ...

  3. python字符串常用函数-大小写,删除空格,字符串切片

  4. Excel怎样从一串字符中的某个指定“字符”前后截取字符及截取字符串常用函数

    怎么样可以从一串字符中的某个指定位置的前或后截取指定个数的字符. 如:12345.6789,我要截取小数点前(或后)的3个字符.怎么样操作, 另外,怎么样从右边截取字符,就是和left()函数相反的那 ...

  5. 【PHP】最详细PHP从入门到精通(三)——PHP中的数组常用函数汇总

     PHP从入门到精通 之PHP中的数组常用函数详解 数组作为PHP中最常用的结构之一,PHP强大的数组函数功能,给数组的相关操作带来了极大的便利.今天给大家介绍的PHP中数组函数,是PHP数组中重要的 ...

  6. python的基本用法(三)字符串常用函数

    字符串常用函数 # s='.abcd.'# new_s=s.strip('.')#默认去掉字符串两边的空格和换行符,想去掉什么括号中就写什么# print('s',s)# print('new_s', ...

  7. C++中的string常用函数用法

    标准c++中string类函数介绍   注意不是CString 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而 ...

  8. c++中的string常用函数用法总结!

    标准c++中string类函数介绍 注意不是CString 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作 ...

  9. [转]c++中的string常用函数用法总结

    标准c++中string类函数介绍 注意不是CString之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为 ...

随机推荐

  1. SAP ECC CO 配置

    SAP ECC 6.0 Configuration Document Controlling (CO) Table of Content TOC \o \h \z 1. Enterprise Stru ...

  2. 机器学习(Machine Learning)&深度学习(Deep Learning)资料

    <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...

  3. 一个JAVA数据库连接池实现源码

    原文链接:http://www.open-open.com/lib/view/open1410875608164.html // // 一个效果非常不错的JAVA数据库连接池. // from:htt ...

  4. repo andrid

    http://www.cnblogs.com/bluestorm/p/4419135.html

  5. ubuntu 搭建 samba 服务器

    . sudo apt-get install samba samba-common . sudo vi /etc/samba/smb.conf [alair's share] path = /home ...

  6. 读书笔记_Effective_C++_条款四十二:了解typename的双重意义

    顾名思义,typename有双重含意.只要你用过template,那么第一重含意一定知道,那就是声明模板的时候,我们既可以这样写: template <class T> 也可以这样写 te ...

  7. nginx后的tomcat获取真实用户ip

    目前大部分获取ip的方式:beat.getRequest().getRemoteAddr()但是,如果通过nginx反向代理的话,就获取不到真实ip,是获取的nginx的ip 需要:添加    pro ...

  8. Potocol Buffer详解

    protocol安装及使用 上一篇博文介绍了一个综合案例,这篇将详细介绍protocol buffer. 为什么使用protocol buffer? java默认序列化效率较低. apache的thr ...

  9. Golang控制goroutine的启动与关闭

    最近在用golang做项目的时候,使用到了goroutine.在golang中启动协程非常方便,只需要加一个go关键字: go myfunc(){ //do something }() 但是对于一些长 ...

  10. java模仿qq好友面板的布局(BoxLayout问题)

    .............. JLabel ll = new JLabel(dlg.getNameText() + ":" + dlg.getIPText(), ii[index] ...