实例

把字符串 "Hello world!" 中的字符 "world" 替换为 "Shanghai":

<?php
echo str_replace("world","Shanghai","Hello world!");
?>

PHP str_replace方法,替换字符串

定义和用法
str_replace() 函数替换字符串中的一些字符(区分大小写)。

该函数必须遵循下列规则:

  • 如果搜索的字符串是一个数组,那么它将返回一个数组。
  • 如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和替换。
  • 如果同时需要对某个数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余的元素将用空字符串进行替换。
  • 如果是对一个数组进行查找,但只对一个字符串进行替换,那么替代字符串将对所有查找到的值起作用。

注释:该函数是区分大小写的。请使用 str_ireplace() 函数执行不区分大小写的搜索。

注释:该函数是二进制安全的。

语法

str_replace(find,replace,string,count)

参数 描述
find 必需。规定要查找的值。
replace 必需。规定替换 find 中的值的值。
string 必需。规定被搜索的字符串。
count 可选。一个变量,对替换数进行计数。

技术细节

返回值: 返回带有替换值的字符串或数组。
PHP 版本: 4
更新日志: 在 PHP 5.0 中,新增了 count 参数。

在 PHP 4.3.3 之前,该函数的 find 和 replace 参数都为数组时将会遇到麻烦,会引起空的 find 索引在内部指针没有更换到 replace 数组上时被忽略。新的版本不会有这个问题。

自 PHP 4.0.5 起,大多数参数可以是一个数组。

更多实例

实例 1

使用带有数组和 count 变量的 str_replace() 函数:

<?php
$arr = array("blue","red","green","yellow");
print_r(str_replace("red","pink",$arr,$i));
echo "Replacements: $i";
?>

结果

Array ( [0] => blue [1] => pink [2] => green [3] => yellow )
Replacements: 1

实例 2

使用带有需要替换的元素少于查找到的元素的 str_replace() 函数:

<?php
$find = array("Hello","world");
$replace = array("B");
$arr = array("Hello","world","!");
print_r(str_replace($find,$replace,$arr));
?>

结果

Array ( [0] => B [1] => [2] => ! )

以下是其它网友补充的资料

<?php 
$str = 'abcdefgh'; 
echo str_replace('abc', '123', $str); // 123defgh 
$str = '123456'; 
$search = array(1, 2, 3, 4, 5, 6); 
$replace = array('a', 'b', 'c', 'd', 'f', 'g'); 
echo str_replace($search, $replace, $str); // abcdefg 
$arr = array('abc','bac','cba'); 
$result = str_replace('b', 'B', $arr, $count); 
print_r($result); // Array ( [0] => aBc [1] => Bac [2] => cBa ) 
echo $count;  // 3 共替换了3次 
?> 

使用 str_replace 来替换字符串比较方便,但所有匹配 search 的值都会被替换为 replace 的值。如果指想替换指定次数,这个方法就不能实现了。

例如:user_order_list 替换为user/order_list

<?php 
$str = 'user_order_list'; 
echo str_replace('_', '/', $str); // user/order/list 
?> 

替换指定次数的方法,可以使用正则 preg_replace 方法来实现。

<?php 
/** 
 * 对字符串执行指定次数替换 
 * @param Mixed $search 查找目标值 
 * @param Mixed $replace 替换值 
 * @param Mixed $subject 执行替换的字符串/数组 
 * @param Int $limit 允许替换的次数,默认为-1,不限次数 
 * @return Mixed 
 */ 
function str_replace_limit($search, $replace, $subject, $limit=-1){ 
 if(is_array($search)){ 
  foreach($search as $k=>$v){ 
   $search[$k] = '`'. preg_quote($search[$k], '`'). '`'; 
  } 
 }else{ 
  $search = '`'. preg_quote($search, '`'). '`'; 
 } 
 return preg_replace($search, $replace, $subject, $limit); 
} 
?> 

例子:

<?php 
$str = 'user_order_list'; 
echo str_replace_limit('_', '/', $str, 1); // user/order_list 
$arr = array('abbc','bbac','cbba'); 
$result = str_replace_limit('b', 'B', $arr, 1); 
print_r($result); // Array ( [0] => aBbc [1] => Bbac [2] => cBba ) 
?> 

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持Devmax!

php str_replace替换指定次数的方法详解的更多相关文章

  1. PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析

    这篇文章主要介绍了PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法,结合具体实例形式分析了preg_replace()报错的原因与相关解决技巧,需要的朋友可以参考下

  2. Java 根据XPATH批量替换XML节点中的值

    这篇文章主要介绍了Java根据XPATH批量替换XML节点中的值,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

  3. php使用自定义函数实现汉字分割替换功能示例

    这篇文章主要介绍了php使用自定义函数实现汉字分割替换功能,结合实例形式分析了php针对汉字的遍历、转换与分割操作相关技巧,需要的朋友可以参考下

  4. php中str_replace替换实例讲解

    这篇文章主要介绍了php中str_replace替换实例讲解内容,有需要的朋友们可以学习参考下。

  5. java正则替换sql中的参数实例代码

    这篇文章主要给大家介绍了关于java正则替换sql中参数的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  6. JS正则表达式替换字符串replace()方法实例代码

    正则表达式是用于匹配字符串中字符组合的模式,在js中正则表达式是对象,这篇文章主要给大家介绍了关于JS正则表达式替换字符串replace()方法的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

  7. python如何使用replace做多字符替换

    这篇文章主要介绍了python如何使用replace做多字符替换,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  8. jQuery实现字符串全部替换的方法

    这篇文章主要介绍了jQuery实现字符串全部替换的方法,结合实例形式对比分析了使用Replace进行替换的方法及使用正则进行全部替换的相关操作技巧,需要的朋友可以参考下

  9. PHP替换Word中变量并导出PDF图片的实现方法

    这篇文章主要给大家介绍了关于PHP替换Word中变量并导出PDF图片的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  10. php 中的str_replace 函数总结

    php 中的str_replace 函数总结,方便大家实现字符串的替换。

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部