源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

php preg_replace替换实例讲解

  • 时间:2020-12-05 12:28 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:php preg_replace替换实例讲解
[u]复制代码[/u] 代码如下:
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
是执行一个正则表达式的搜索和替换的用函数,平时我们用它时多是一次替换结束,今天又看php手册发现了一个较为难理解(自认为)的例子分享给大家。
[u]复制代码[/u] 代码如下:
<?php  $subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4');  $pattern = array('/\d/', '/[a-z]/', '/[1a]/');  $replace = array('A:$0', 'B:$0', 'C:$0');  echo "preg_replace returns\n<pre/>";  print_r(preg_replace($pattern, $replace, $subject));  ?>  
结果如下: [img]http://files.jb51.net/file_images/article/201311/20131104144256.jpg?2013104144456[/img] 咋一看,我就看晕了 一般 若匹配模式和替换内容这两项都是数组的话它们应该相对应,如果replacement中的元素比pattern中的少, 多出来的pattern使用空字符串进行替换. $pattern就像个扫描器,扫到匹配的就用于之对应的$replace替换 对于上例替换过程如下: /\d/扫描$subject里的1,匹配了,匹配内容为$0(也就是1)就把1替换为A:1 然后用/[a-z]/扫描A:1不匹配,就不替换,继续用[1a]扫描A:1,匹配内容为1(也就是$0),就把A:1中1换为C:1 第一项最终被替换为A:C:1 简化过程: 1->A:1->A:C:1 a->B:a->B:C:a 2->A:2 b->B:b A(没有符合匹配的就不替换了) B(同上) 4->A:4 总结一点,拿$pattern里的每一个模式依次去匹配$subject里的每一个元素,匹配到了就用与$pattern对应的那个$replace对换,如上例,可能不止一次替换
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部