php中几个字符串替换函数详解
在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() 函数:
| 代码如下 | 复制代码 |
|
$arr = array("blue","red","green","yellow"); Array |
|
补充:count如果被指定,它的值将被设置为替换发生的次数。
二、substr_replace(string,replacement,start,length)
作用:substr_replace() 函数把字符串的一部分替换为另一个字符串。
参数 描述
string 必需。规定要检查的字符串。
replacement 必需。规定要插入的字符串。
start 必需。规定在字符串的何处开始替换。
■正数 - 在第 start 个偏移量开始替换
■负数 - 在从字符串结尾的第 start 个偏移量开始替换
■0 - 在字符串中的第一个字符处开始替换
charlist 可选。规定要替换多少个字符。
■正数 - 被替换的字符串长度
■负数 - 从字符串末端开始的被替换字符数
■0 - 插入而非替换
例子
| 代码如下 | 复制代码 |
|
echo substr_replace("Hello world","earth",6); 输出: Hello earth |
|
三、preg_replace ( pattern , replacement , subject,limit = -1 ,$count )
作用:执行一个正则表达式的搜索和替换
参数 描述
pattern 必需。需要搜索的模式。
replacement 必需。用于替换的字符串或数组。
subject 必需。需要替换的字符串或数组。
limit 替换的次数。-1为无限
count 完成替换的次数,变量
Example #1 使用后向引用紧跟数值原文
| 代码如下 | 复制代码 |
| $string = 'April 15, 2003'; $pattern = '/(w+) (d+), (d+)/i'; $replacement = '${1}1,$3'; echo preg_replace($pattern, $replacement, $string); ?> |
|
以上例程会输出:
April1,2003
Example #2 preg_replace()中使用基于索引的数组
| 代码如下 | 复制代码 |
| $string = 'The quick brown fox jumped over the lazy dog.'; $patterns = array(); $patterns[0] = '/quick/'; $patterns[1] = '/brown/'; $patterns[2] = '/fox/'; $replacements = array(); $replacements[2] = 'bear'; $replacements[1] = 'black'; $replacements[0] = 'slow'; echo preg_replace($patterns, $replacements, $string); ?> |
|
以上例程会输出:
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() 例子:取得搜索字符串的成分
| 代码如下 | 复制代码 |
|
// split the phrase by any number of commas or space characters, |
|
例 1673. 将字符串分割成字符
| 代码如下 | 复制代码 |
|
$str = 'string'; |
|
例 1674. 将字符串分割为匹配项及其偏移量
| 代码如下 | 复制代码 |
|
$str = 'hypertext language programming'; |
|
本例将输出:
Array
(
[0] => Array
(
[0] => hypertext
[1] => 0
)
[1] => Array
(
[0] => language
[1] => 10
)
[2] => Array
(
[0] => programming
[1] => 19
)
)
五、str_split ( subject,length)
作用:将字符串分割成数组
参数 描述
subject 字符串。
length 每一段的长度。
例子 1
| 代码如下 | 复制代码 |
| print_r(str_split("Hello")); ?> |
|
输出:
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
)
例子 2
| 代码如下 | 复制代码 |
| print_r(str_split("Hello",3)); ?> |
|
输出:
Array
(
[0] => Hel
[1] => lo
)
php中几个字符串替换函数详解的更多相关文章
- 【转】angularjs指令中的compile与link函数详解
这篇文章主要介绍了angularjs指令中的compile与link函数详解,本文同时诉大家complie,pre-link,post-link的用法与区别等内容,需要的朋友可以参考下 通常大家在 ...
- angularjs指令中的compile与link函数详解
这篇文章主要介绍了angularjs指令中的compile与link函数详解,本文同时诉大家complie,pre-link,post-link的用法与区别等内容,需要的朋友可以参考下 通常大家在 ...
- Pythonh中的zip()与*zip()函数详解
前言 实验环境: Python 3.6: 示例代码地址:下载示例: 本文中元素是指列表.元组.字典等集合类数据类型中的下一级项目(可能是单个元素或嵌套列表). zip(*iterables)函数详解 ...
- Python中的zip()与*zip()函数详解
前言 实验环境: Python 3.6: 示例代码地址:下载示例: 本文中元素是指列表.元组.字典等集合类数据类型中的下一级项目(可能是单个元素或嵌套列表). zip(*iterables)函数详解 ...
- C-常用字符串操作函数详解
//使用字符串操作应时刻注意字符串或者数组长度!!避免溢出!! 1. size_t strlen(char const *str); //计算字符串长度, 注意返回size_t类型的值, 即unsig ...
- Lua中的模块与module函数详解
很快就要开始介绍Lua里的“面向对象”了,在此之前,我们先来了解一下Lua的模块. 1.编写一个简单的模块 Lua的模块是什么东西呢?通常我们可以理解为是一个table,这个table里有一些变量.一 ...
- Python - 字符串常用函数详解
str.index(sub, start=None, end=None) 作用:查看sub是否在字符串中,在的话返回索引,且只返回第一次匹配到的索引:若找不到则报错:可以指定统计的范围,[start, ...
- JavaScript中的apply和call函数详解(转)
每个JavaScript函数都会有很多附属的(attached)方法,包括toString().call()以及apply().听起来,你是否会感到奇怪,一个函数可能会有属于它自己的方法,但是记住,J ...
- angularjs指令中的compile与link函数详解(转)
http://www.jb51.net/article/58229.htm 通常大家在使用ng中的指令的时候,用的链接函数最多的是link属性,下面这篇文章将告诉大家complie,pre-link, ...
随机推荐
- NOI2001|POJ1182食物链[种类并查集 向量]
食物链 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 65430 Accepted: 19283 Description ...
- NYOJ 70
描述:给定两个数n,m,其中m是一个素数. 将n(0<=n<=2^31)的阶乘分解质因数,求其中有多少个m. 注:^为求幂符号. 输入: 第一行是一个整数s(0<s<=100) ...
- 第5章 Java数组
1.什么是数组 数组可以想象成一个巨大的盒子,这个盒子里面存放的是同一个数据类型的数据 例如:int[] scores = {78,68,94,93}; 2.如何使用Java中的数组 2.1申明数组 ...
- LeetCode:Multiply Strings
题目链接 Given two numbers represented as strings, return multiplication of the numbers as a string. Not ...
- Centos6.4 本地yum源配置
由于单位的服务器均使用的是内网,而安装一些软件如Git,需要很多的依赖包,使用yum安装相对简单,由于不能联网故配置本地yum源配置. 1.首先将需要rpm库添加到系统中: 1).虚拟机中安装的lin ...
- SpringBoot应用部署[转]
在开发spring Boot应用的过程中,Spring Boot直接执行public static void main()函数并启动一个内嵌的应用服务器(取决于类路径上的以来是Tomcat还是jett ...
- webpack --- 详解
官网: http://webpack.github.io/docs/using-loaders.html 简书: http://www.jianshu.com/p/42e11515c10f
- 通过Knockout.js + ASP.NET Web API构建一个简单的CRUD应用
REFERENCE FROM : http://www.cnblogs.com/artech/archive/2012/07/04/Knockout-web-api.html 较之面向最终消费者的网站 ...
- ORB-SLAM(二)性能
ORB-SLAM程序提供了运行Monocular.Stereo和RGBD数据的程序.编译成功后,可以通过运行TUM的标准数据来验证程序是否成功.如果想自己测试一些数据,可以通过OpenCV提供的接口调 ...
- HTML5图形图像处理技术研究
摘要:图形图像处理平台大部分是传统的C/S架构的桌面应用程序,维护困难,共享性差,而B/S架构的Web程序具有易维护.易共享的优点.本文研究了基于HTML5的Web图形图像处理技术,用HTML5实现了 ...