QQ 1640076782

2014年02月25日

php 正则表达式 反向引用

Filed under: phper — 标签:, — liphp @ 9:18 上午

最近做项目遇到一个问题 就是正则表达式的反向引用、之前一直没有接触到反向这块、比如说1234dsjkfasdjfl,1312sadfsadfasdfas,4646sadfasdfasdfas这个字符串 要把里面的连续的4个字符替换成我想要的东西(如 echo $this->val['1234'])中括号里面的值不能改变、还是原来的值。想了很长时间都不知道怎么去替换。最后在网上查了一下、用正则可以去替换

在替换之前首先要了解 preg_replace($pattern,$replacement,$subject); 函数、函数里面有3个参数、$pattern 就是你的正则表达式、(可以是数组)$replacement要替换的内容(可以是数组)。$subject替换的字符串。

$par=”1234dsjkfasdjfl,1312sadfsadfasdfas,4646sadfasdfasdfas”;

首先正则匹配4个连续的数字 用数组形式 把要捕获的用括号括起来

$a=array(

‘/(\d\d\d\d)/i’

);

正则匹配要替换的内容 数组形式

$b=array(

‘ echo $this->vars["${1}"] ‘

);

函数匹配:

preg_replace($a,$b,$par);

这个就可以轻松实现了数据直接的转换

输入结果:

echo $this->vars["1234"]dsjkfasdjfl,echo $this->vars["1312"]sadfsadfasdfas,echo $this->vars["4646"]sadfasdfasdfas

如果你有外贸企业网站建站需求,欢迎随时联系我们

QQ客服:415682727

电话:020-39907297