文 - 篇  访客 -

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


  分类:PHP  / 
更新:2023-08-14 09:49:17  /  创建:2023-08-04 16:06:56
不要删除

date created: 2022-07-05 11:27

[导读] 在php中字符替换函数有几个如有:str_replace、substr_replace、preg_replace、preg_split、 str_split等函数,下面我来给大家总结介绍介绍。一、str_replace(find,replace,string,count)作 用:str_replace() 函

在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");

print_r(str_replace("red","pink",$arr,$i));

echo "Replacements: $i";

?>输出:

Array

(

[0] => blue

[1] => pink

[2] => green

[3] => yellow

)

Replacements: 1

补充: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,

// which include " ", r, t, n and f

$keywords = preg_split ("/[s,]+/", "hypertext language, programming");

?>

例 1673. 将字符串分割成字符

 代码如下

复制代码

$str = 'string';

$ chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);

print_r($chars);

?>

例 1674. 将字符串分割为匹配项及其偏移量

 代码如下

复制代码

$str = 'hypertext language programming';

$ chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);

print_r($chars);

?>

本例将输出:

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

)


不要删除

是日已过,命亦随减,如少水魚,斯有何乐?