您的位置:首页 > 编程语言 > PHP开发

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

2014-07-19 23:18 363 查看
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、第二个参数中的$也需要转义,因为是在字符串中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: