php preg_replace替换实例讲解
发布时间:2020-12-12 19:56:56 所属栏目:PHP教程 来源:网络整理
导读:代码如下: mixed preg_replace ( mixed $pattern,mixed $replacement,mixed $subject [,int $limit = -1 [,int $pattern = array('/d/','/[a-z]/','/[1a]/'); $replace = array('A:$0','B:$0','C:$0');echo "preg_replace returnsn "; print_r(preg_replac
代码如下: mixed preg_replace ( mixed $pattern,mixed $replacement,mixed $subject [,int $limit = -1 [,int &$count ]] ) 是执行一个正则表达式的搜索和替换的用函数,平时我们用它时多是一次替换结束,今天又看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 returnsn"; print_r(preg_replace($pattern,$replace,$subject)); ?> 结果如下: 一般 若匹配模式和替换内容这两项都是数组的话它们应该相对应,如果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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |