热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php中几个字符串替换函数详解

在php中字符替换函数有几个如有:str_replace、substr_replace、preg_replace、preg_split、str_split等函数,下面我来给大家总结介绍介绍.一、str_replace(find,replace,string,count)作用:str_repl...
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
当前位置:首页 > PHP教程 > php函数 > 列表
php中几个字符串替换函数详解
发布: 来源:  添加日期:2014-09-13 21:30:23 浏览: 评论:0 

在php中字符替换函数有几个如有:str_replace、substr_replace、preg_replace、preg_split、str_split等函数,下面我来给大家总结介绍介绍.

一、str_replace(find,replace,string,count)

作用:str_replace() 函数使用一个字符串替换字符串中的另一些字符。

参数 描述

find 必需,规定要查找的值.

replace 必需,规定替换 find 中的值的值.

string 必需,规定被搜索的字符串.

count 可选,一个变量,对替换数进行计数.

在本例中,我们将演示带有数组和 count 变量的 str_replace() 函数,代码如下:

  1. $arr = array("blue","red","green","yellow"); 
  2. print_r(str_replace("red","pink",$arr,$i)); 
  3. echo "Replacements: $i"
  4. ?> 
  5. //输出: 
  6. Array 
  7. [0] => blue 
  8. [1] => pink 
  9. [2] => green 
  10. [3] => yellow 

Replacements:1

补充:count如果被指定,它的值将被设置为替换发生的次数.

二、substr_replace(string,replacement,start,length)

作用:substr_replace() 函数把字符串的一部分替换为另一个字符串.

参数 描述

string 必需,规定要检查的字符串.

replacement 必需,规定要插入的字符串.

start 必需,规定在字符串的何处开始替换.

正数 - 在第 start 个偏移量开始替换

负数 - 在从字符串结尾的第 start 个偏移量开始替换

0 - 在字符串中的第一个字符处开始替换

charlist 可选,规定要替换多少个字符.

正数 - 被替换的字符串长度

负数 - 从字符串末端开始的被替换字符数

0 - 插入而非替换

例子,代码如下:

  1. echo substr_replace("Hello world","earth",6); 
  2. ?> 
  3. //输出:Hello earth 

三、preg_replace(pattern,replacement,subject,limit = -1,$count)

作用:执行一个正则表达式的搜索和替换

参数 描述

pattern 必需,需要搜索的模式.

replacement 必需,用于替换的字符串或数组.

subject 必需,需要替换的字符串或数组.

limit 替换的次数,-1为无限

count 完成替换的次数,变量

Example #1 使用后向引用紧跟数值原文,代码如下:

  1. $string = 'April 15, 2003'
  2. $pattern = '/(w+) (d+), (d+)/i'
  3. $replacement = '${1}1,$3'
  4. echo preg_replace($pattern$replacement$string); 
  5. ?> 
  6. //以上例程会输出: 
  7. April1,2003 

Example #2 preg_replace()中使用基于索引的数组,代码如下:

  1. $string = 'The quick brown fox jumped over the lazy dog.'
  2. $patterns = array(); 
  3. $patterns[0] = '/quick/'
  4. $patterns[1] = '/brown/'
  5. $patterns[2] = '/fox/'
  6. $replacements = array(); 
  7. $replacements[2] = 'bear'
  8. $replacements[1] = 'black'
  9. $replacements[0] = 'slow'
  10. echo preg_replace($patterns$replacements$string); 
  11. ?> 
  12. //以上例程会输出: 
  13. The bear black slow jumped over the lazy dog. 

四、preg_split ( pattern , subject,limit = -1 ,flag  )

作用:通过正则表达式分割字符串

参数 描述

pattern 必需,需要搜索的模式.

replacement 必需,用于替换的字符串或数组.

subject 必需,需要替换的字符串.

limit 被分割的字符串最多limit.

flag 模式

例 1672. preg_split() 例子,取得搜索字符串的成分,代码如下:

  1. // split the phrase by any number of commas or space characters,  
  2. // which include " ", r, t, n and f  
  3. $keywords = preg_split ("/[s,]+/""hypertext language, programming");  
  4. ?> 

例 1673,将字符串分割成字符,代码如下:

  1. $str = 'string';  
  2. $chars = preg_split('//'$str, -1, PREG_SPLIT_NO_EMPTY);  
  3. print_r($chars);  
  4. ?> 

例 1674,将字符串分割为匹配项及其偏移量,代码如下:

  1. $str = 'hypertext language programming';  
  2. $chars = preg_split('/ /'$str, -1, PREG_SPLIT_OFFSET_CAPTURE);  
  3. print_r($chars);  
  4. ?> 
  5. //本例将输出: 
  6. Array 
  7. [0] => Array 
  8. [0] => hypertext 
  9. [1] => 0 
  10. [1] => Array 
  11. [0] => language 
  12. [1] => 10 
  13. [2] => Array 
  14. [0] => programming 
  15. [1] => 19 

五、str_split(subject,length)

作用:将字符串分割成数组

参数 描述

subject 字符串.

length 每一段的长度.

例子1,代码如下:

  1. print_r(str_split("Hello")); 
  2. ?> 
  3. //输出: 
  4. Array 
  5. [0] => H 
  6. [1] => e 
  7. [2] => l 
  8. [3] => l 
  9. [4] => o 

例子2,代码如下:

  1. print_r(str_split("Hello",3)); 
  2. //开源代码phpfensi.com 
  3. ?> 
  4. 输出: 
  5. Array 
  6. [0] => Hel 
  7. [1] => lo 
  8. )

推荐阅读
  • PHP开发人员薪资水平分析:工程师平均工资概况
    PHP开发人员薪资水平分析:工程师平均工资概况 ... [详细]
  • PHP与MySQL的Web应用开发技术深入解析
    PHP与MySQL的Web应用开发技术深入解析 ... [详细]
  • 【Linux进阶指南】第一阶段第三课:体验与部署Ubuntu系统
    在正式踏上Linux学习之旅之前,本课程将引导你深入体验和部署Ubuntu系统。通过详细的操作步骤和实践演练,你将掌握Ubuntu的基本安装、配置及常用命令,为后续的进阶学习打下坚实的基础。此外,课程还将介绍如何解决常见问题和优化系统性能,帮助你更加高效地使用Ubuntu。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 本文详细介绍了在 Vue.js 前端框架中集成 vue-i18n 插件以实现多语言支持的方法。通过具体的配置步骤和示例代码,帮助开发者快速掌握如何在项目中实现国际化功能,提升用户体验。同时,文章还探讨了常见的多语言切换问题及解决方案,为开发人员提供了实用的参考。 ... [详细]
  • 《我的世界》Java版与Windows 10版(基岩版)有何不同?
    《我的世界》Java版与Windows 10版(基岩版)有何不同? ... [详细]
  • 源代码是构建网站的基础,涵盖了网站程序的所有代码、文件和目录结构。掌握源代码意味着完全控制网站的所有权。在传统自助建站平台中,由于采用SAAS模式,源代码通常不对外开放,用户实际上每年支付的费用仅是为了使用这些平台提供的服务,而无法获得真正的代码所有权。相比之下,米拓源代码提供了全面的技术细节和实现方法,使开发者能够深入了解并自主定制网站功能,确保了更高的灵活性和安全性。 ... [详细]
  • VC维在机器学习中的应用与解析
    VC维在机器学习中的应用与解析VC维是指在机器学习中,一个假设空间能够正确分类的最大样本数量。具体而言,如果一个假设空间能够将N个样本以所有可能的 \(2^N\) 种方式完全分开,则称该假设空间具有N的VC维。VC维是衡量模型复杂度的重要指标,对于理解模型的泛化能力和过拟合风险具有重要意义。本文详细探讨了VC维的定义、计算方法及其在机器学习中的应用,并通过实例分析展示了其在模型选择和评估中的关键作用。 ... [详细]
  • C++入门必备:首个博客知识点汇总
    本文总结了C++初学者需要掌握的关键知识点,特别强调了成员类型的区分。其中,protected成员与private成员在本类中的作用相同,但protected成员允许派生类的成员函数访问,而private成员则不允许。此外,文章还介绍了其他重要的C++基础概念,如类的构造函数、析构函数以及继承机制,为初学者提供了一个全面的学习指南。 ... [详细]
  • Kafka核心理论问题汇编【持续更新中】
    本文汇总了Kafka的核心理论问题,涵盖了常见的技术难点和解决方案。内容将持续更新,旨在为开发者提供全面的参考。文章源自博客园,作者呱嗒呱嗒,转载时请注明出处。 ... [详细]
  • 在使用Block时,正确的声明方法和确保线程安全是至关重要的。为了保证Block在堆中分配,应使用`copy`修饰符进行声明,因为栈中的Block与栈的生命周期绑定,容易导致内存问题。此外,还需注意Block捕获外部变量的行为,以避免潜在的循环引用和数据不一致问题。建议深入研究相关文档,以掌握更多高级技巧和最佳实践。 ... [详细]
  • 深入探讨:Java 8 中 HashMap 链表为何选择红黑树而非 AVL 树
    深入探讨:Java 8 中 HashMap 链表为何选择红黑树而非 AVL 树 ... [详细]
  • 利用树莓派畅享落网电台音乐体验
    最近重新拾起了闲置已久的树莓派,这台小巧的开发板已经沉寂了半年多。上个月闲暇时间较多,我决定将其重新启用。恰逢落网电台进行了改版,回忆起之前在树莓派论坛上看到有人用它来播放豆瓣音乐,便萌生了同样的想法。通过一番调试,终于实现了在树莓派上流畅播放落网电台音乐的功能,带来了全新的音乐享受体验。 ... [详细]
  • 深入理解Linux网络编程:UDP协议实战解析
    深入理解Linux网络编程:UDP协议实战解析 ... [详细]
  • 本文详细探讨了Zebra路由软件中的线程机制及其实际应用。通过对Zebra线程模型的深入分析,揭示了其在高效处理网络路由任务中的关键作用。文章还介绍了线程同步与通信机制,以及如何通过优化线程管理提升系统性能。此外,结合具体应用场景,展示了Zebra线程机制在复杂网络环境下的优势和灵活性。 ... [详细]
author-avatar
魏蚊瑞
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有