php使用正则动态修改配置文件-hosts文件修改

php使用正则动态修改配置文件-hosts文件修改

一、正则表达式简介

一、什么是“正则表达式”

正则表达式---是用一些特殊字符,按规则编写出一个字符串,形成一种模式

二、“正则表达式”的作用

注意:

如果正则表达式,不和函数一起使用,则它就是一个字符串,

如果将正则表达式放到到某个函数中使用, 才能发挥出正则表达式的作用。

用到分割函数中,就可以用这个正则去分割字符串

用到替换函数中,就可以用这个正则去替换字符串

...

三、PHP中如何使用“正则表达式”?——详见“PHP手册”(Perl 兼容正则表达式函数)

二、正则应用技术点分析

1、获取$pattern:这可以在网上进行搜索(可以保存为一个"模式库")

语法格式:$pattern="/php/i";//采用类似这种语法格式

2、判断$string是否包含$pattern?

语法格式:preg_match($pattern,$string);

应用例子:

if (preg_match ("/php/i", "PHP is the web scripting language of choice.")) {

print "A match was found.";

} else {

print "A match was not found.";

}

3、遍历$string中的所有$pattern

语法格式:preg_match_all($pattern,$string,$arr);

应用例子:

function browserUrl($str) {

$url="/(https?|ftps?)://((www|mail|news).([^./]+).(com|org|net))/i";

preg_match_all($url, $str, $arr);

foreach($arr[0] as $url){

echo $url;

}

}

browserUrl();

4、将$string中的所有$pattern替换成$replacement

preg_replace($pattern,$replacement,$string);

应用例子:

function setUrl($str) {

$url="/(https?|ftps?)://((www|mail|news).([^./]+).(com|org|net))/i";

preg_replace($url,'<font color="red">1://2.3.4</font>',$str)

return $str;

}

echo setUrl($str);

三、使用正则动态修改配置文件

================================================

php基础示例--正则表达式--动态修改配置文件

================================================

一、相关的知识点:

正表达式:

preg_match_all -- 进行全局正则表达式匹配

preg_replace -- 执行正则表达式的搜索和替换

文件的读和写

file_put_contents--文件写入函数

file_get_contents()--文件读取信息函数

二、实现步骤:

1.准备好一个配置文件:dbconfig.php

2. 定义一个edit.php,配置文件信息的编辑界面

a 读取配置文件的信息

b 使用正则表达式解析配置文件的信息

c 遍历解析后的信息,并输出到修改表单中

3. 定义一个doupdate.php执行配置文件信息的修改操作

(使用正则替换方式)

三、详细代码

1.准备好一个配置文件:dbconfig.php

//配置文件信息

define("HOST","localhost"); //主机名

define("USER","root");//用户名

define("PASS","666"); //密码

define("DBNAME","mydb"); //数据库名

2. 定义一个edit.php,配置文件信息的编辑界面

//编辑配置文件

$keyinfo = array("HOST"=>"主机","USER"=>"用户","PASS"=>"密码","DBNAME"=>"库名");

//1 读取配置文件的信息

$info = file_get_contents("dbconfig.php");//将dbconfig.php文件中信息读出并赋给info变量

//2 使用正则表达式解析配置文件的信息

preg_match_all("/define("(.*?)","(.*?)")/",$info,$a); //将info中的信息解析到a变量中存储

echo "<pre>";

//var_dump($a);

echo "</pre>";

//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>";

3. 定义一个doupdate.php执行配置文件信息的修改操作

//执行配置文件的修改操作

//echo "<pre>";

//var_dump($_POST);

//echo "</pre>";

//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>";

推荐阅读

    excel怎么用乘法函数

    excel怎么用乘法函数,乘法,函数,哪个,excel乘法函数怎么用?1、首先用鼠标选中要计算的单元格。2、然后选中单元格后点击左上方工具栏的fx公

    鼠标不能拖动文件了

    鼠标不能拖动文件了,鼠标,拖动,本文目录鼠标不能拖动文件了电脑鼠标无法拖动软件图标了,怎么办鼠标不能滚动怎么调整电脑鼠标不能进行任何

    wps如何修改页眉上边距

    wps如何修改页眉上边距,WPS教程,1.WPS版word怎样设置页眉边距WPS中word设置页眉边距技巧“页边距”:页面上打印区域之外的空白空间。1、设

    excel中乘法函数是什么?

    excel中乘法函数是什么?,乘法,函数,什么,打开表格,在C1单元格中输入“=A1*B1”乘法公式。以此类推到多个单元。1、A1*B1=C1的Excel乘法公式

    标准差excel用什么函数?

    标准差excel用什么函数?,函数,标准,什么,在数据单元格的下方输入l标准差公式函数公式“=STDEVPA(C2:C6)”。按下回车,求出标准公差值。详细