我必须显示源代码,但想删除数据库信息。信息以这种方式存储
'db.host' => 'localhost',
'db.user' => 'user',
'db.pass' => 'pass',
'db.name' => 'name
现在我把它作为正则表达式,但它似乎不起作用
$content = preg_replace('''db.host'' => ''(.*)''/', '', $content);
错误:
Warning: preg_replace() [<a href='function.preg-replace'>function.preg-replace</a>]: Unknown modifier '='
您没有正确获取字符串,请尝试此操作
$content = preg_replace("/'db.[a-z]+' => '(.*?)'/i", '', $content);
看看我的例子:http://regexr.com?36js6
您缺少第一个正斜杠(左分隔符)。
$result = preg_replace('/''db.host'' => ''(.*)''/', '', $subject);
^
您可以使用:
$s = <<< EOF
'db.host' => 'localhost',
'db.user' => 'user',
'db.pass' => 'pass',
'db.name' => 'name'
EOF;
echo preg_replace("~(=>'s*')[^']+'~m", '$1****''', $s);
输出
'db.host' => '****',
'db.user' => '****',
'db.pass' => '****',
'db.name' => '****'