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、第二个参数中的$也需要转义,因为是在字符串中。
$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、第二个参数中的$也需要转义,因为是在字符串中。
相关文章推荐
- 一个preg_replace()参数均为数组多次替换的实例理解
- php preg_match_all结合str_replace替换内容中所有img
- php preg_match_all 和 str_replace 替换图片链接
- PHP字符串的替换(preg_replace)
- preg_replace()参数均为数组多次替换的实例理解
- PHP正则替换函数preg_replace和preg_replace_callback使用总结
- 详解PHP正则表达式替换实现(PHP preg_replace,PHP preg_replace)
- PHP preg_replace函数 替换字符串或者数组内多个内容
- php preg_match_all结合str_replace替换内容中所有img
- PHP preg_replace() 正则替换所有符合条件的字符串示例
- PHP preg_replace() 正则替换所有符合条件的字符串
- 详解PHP正则表达式替换实现(PHP preg_replace,PHP preg_replace)
- PHP正则表达式替换函数preg_replace
- php正则动态匹配 - 替代str_replace的数组替换
- php preg_replace替换实例讲解
- PHP preg_replace()正则替换字符串
- ecshop php5.4以上版本错误之preg_replace 替换成 preg_replace_callback
- PHP 字符串正则替换函数preg_replace使用说明
- php 使用 preg_replace 一次替换多个值