php中 用preg_replace替换config.php中的数组并赋值

config.php中的内容如下:

$config['base_url'] = 'http://localhost/';

要替换为:

$config['base_url'] = '192.168.0.102';

可以看到,需要替换的只是等号后的内容,而替换的条件是config的key即base_url相同

替换语句为:其中$ini="base_url"  $value="192.168.0.102"   

 $str2 = preg_replace("/\\\$config\['".$ini."']\s*=\s*'(.*)';/","\$config['".$ini."'] = '".$value."';",$str);

这里需要有几点说明:

1、preg_replace的第一参数为正则表达式,第二参数是普通字符串。

2、\\\$:因为$在这里是表示php的变量,而不是表达式的结束,所以需要转义。我个人理解,需要三个"\"的原因是php解析时经过两个过程,一、正则表达式规则,二、php本身的解析

3、\\\$可以用[$]来代替

4、[ 需要转义,] ' 不需要转义

5、等号两边有空格,或者没有,所以空格用\s*来表示。

6、第二个参数中的$也需要转义,因为是在字符串中。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值