PHP基礎示例:用正則表達式修改配置信息,示例正則表達式
各php工作原理圖:

以下是扯代碼時間:

![]()
<?php
//配置文件信息
define("HOST","localhost"); //主機名
define("USER","rootaaaa"); //用戶名
define("PASSWORD","root123456"); //密碼
define("DBNAME","mydb"); //數據庫名
dbconfig.php

![]()
<?php
//執行配置文件的修改操作
//1.讀取配置文件的信息
$info = file_get_contents("dbconfig.php");
//2.對POST遍歷,並對配置文件信息進行正則替換
foreach($_POST as $k => $v)
{
$info=preg_replace("/define\(\"{$k}\",\"(.*?)\"\)/","define(\"{$k}\",\"{$v}\")",$info);
}
//3.將替換後的信息寫回到配置文件中
file_put_contents("dbconfig.php",$info);
echo "<h2>修改成功!</h2>";
echo "<a href='edit.php'>返回</a>";
doupdate.php

![]()
<?php
//編輯配置文件
$keyinfo=array("HOST"=>"主機","USER"=>"用戶","PASSWORD"=>"密碼","DBNAME"=>"數據庫名");
//1.讀取配置文件的信息
$info = file_get_contents("dbconfig.php");//將dbconfig.php文件中信息讀出並賦值給info變量
//2.使用正則表達式解析配置文件的信息
preg_match_all("/define\(\"(.*?)\",\"(.*?)\"\)/",$info,$a);//將info中的信息解析到a變量中存儲
//3.遍歷解析後的信息,並輸出到修改表單中
echo "<h2>編輯配置文件</h2>";
echo "<form action='doupdate.php' method='post'>";
foreach($a[1] as $k =>$v)
{
echo "{$keyinfo[$v]}:<input type='text' name='{$v}' value='{$a[2][$k]}' /><br/><br/>";
}
echo "<input type='submit' value='編輯' /> ";
echo "<input type='reset' value='重置' />";
echo "</form>";
edit.php