当前位置:首页 > PHP教程 > php应用 > 列表

php str_replace与preg_replace用法区别

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-18 21:52:35 浏览: 评论:0 

str_replace() 函数使用一个字符串替换字符串中的另一些字符,简单替换,代码如下:

<?php echo str_replace("world","john","hello world!");?>

替换数据,代码如下:

<?php echo str_replace("world","john","hello world!");?>

利用正则表达式来替换.

语法:stringobj.replace(rgexp, replacetext)

用str.replace("|",",") 只会替换第一个匹配的字符,str.replace(/|/g,","),则可以替换掉全部匹配的字符(g为全局标志).

语法:preg_replace(find,replace,string,count)

preg_replace -- 执行正则表达式的搜索和替换

说明:mixed preg_replace(mixed pattern,mixed replacement,mixed subject [, int limit])

在 subject 中搜索 pattern 模式的匹配项并替换为 replacement,如果指定了 limit,则仅替换 limit 个匹配,如果省略 limit 或者其值为 -1,则所有的匹配项都会被替换,实例代码如下:

  1. <?php 
  2. $string = "april 15, 2003"
  3. $pattern = "/(/w+) (/d+), (/d+)/i"
  4. $replacement = "/${1}1,/$3"
  5. print preg_replace($pattern$replacement$string); 
  6. /* output 
  7.    ====== 
  8. april1,2003 
  9. */ 
  10. ?> 
  11. //替换数个值 
  12. <?php 
  13. $patterns = array ("/(19|20)(/d{2})-(/d{1,2})-(/d{1,2})/""/^/s*{(/w+)}/s*=/"); 
  14. $replace = array ("//3///4///1//2""$//1 ="); 
  15. //开源软件:phpfensi.com 
  16. print preg_replace ($patterns$replace"{startdate} = 1999-5-27"); 
  17. ?> 
  18. //本例将输出: 
  19. $startdate = 5/27/1999  

实例,使用 /e 修正符,代码如下:

  1. <?php 
  2. preg_replace ("/(<//?)(/w+)([^>]*>)/e","'//1'.strtoupper('//2').'//3'",$html_body); 
  3. ?> 

这将使输入字符串中的所有 html 标记变成大写,区别preg_replace函数主要用于正则比较方便而str_replace替换字符效率更好,但他们都用于字符替换的函数.

Tags: str_replace preg_replace用法区别

分享到: