首页 > 语言 > PHP > 正文

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

2024-09-04 11:48:45
字体:
来源:转载
供稿:网友

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

Replacements:1

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

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

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

参数 描述

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

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

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

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

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

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

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

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

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

0 - 插入而非替换

例子,代码如下:

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

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

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

参数 描述

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

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

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

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

count 完成替换的次数,变量

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

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

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

  1. <?php 
  2. $string = 'The quick brown fox jumped over the lazy dog.'
  3. $patterns = array(); 
  4. $patterns[0] = '/quick/'
  5. $patterns[1] = '/brown/'
  6. $patterns[2] = '/fox/'
  7. $replacements = array(); 
  8. $replacements[2] = 'bear'
  9. $replacements[1] = 'black'
  10. $replacements[0] = 'slow'
  11. echo preg_replace($patterns$replacements$string); 
  12. ?> 
  13. //以上例程会输出: 
  14. 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. <?php  
  2. // split the phrase by any number of commas or space characters,  
  3. // which include " ", r, t, n and f  
  4. $keywords = preg_split ("/[s,]+/""hypertext language, programming");  
  5. ?> 

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

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

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

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

五、str_split(subject,length)

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

参数 描述

subject 字符串.

length 每一段的长度.

例子1,代码如下:

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

例子2,代码如下:

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表