首页 > 代码库 > 【原创】使用PHP批量替换静态HTML中违规内容

【原创】使用PHP批量替换静态HTML中违规内容

今天突然接到集团的要求,因为新广告法规出台,要求本人所在的下属公司删除官方网站里面的违反规定的内容,因为现在使用的官网其实就是一些静态页面,一共不到30个页面,一开始打算用Dreamweaver批量替换下就完了,但是接到文档一看就傻眼了,几十个关键文字都要整改,就算是用Dreamweaver也得整半天,于是打算写个简单的php脚本解决这个问题。废话不多说,开工!

思路如下,把所有的静态页面放在php项目下的某个文件夹中,然后利用php读取此文件夹下的所有文件并获取文件名存成一个数组,循环数组使用file_get_contents读取内容,然后把所有要修改的关键字放在一个数组中循环使用str_replace进行修改,最后使用file_put_contents()把修改后的内容写入原来的文件。

由于只是个简单的脚本,所以也懒得判断参数类型了,使用时自己注意下就完了,也没有封装成类,就是写了两个方法,一个获取文件名,一个修改内容。测试用程序如下。

<?php

/**

 * Created by PhpStorm.

 * User: meng

 * Date: 16/10/17

 * Time: 下午5:14

 */

function getfile($name){

    $handle = opendir($name);

    $filearr = array();

    while (($file = readdir($handle)) !== false){

        if($file != ‘.‘ && $file != ‘..‘) {

            array_push($filearr,$file);

        }

    }

    closedir($handle);

    return $filearr;

}

function change($folder,$filearr,$changetext){

    foreach ($filearr AS $key=>$value){

    $filename = $folder.‘/‘.$value;

$content = file_get_contents($filename);

foreach($changetext AS $key=>$val){

$content = str_replace($key, $val, $content);

}

file_put_contents($filename, $content);

sleep(1);

    }

}

$changetest = array(

    ‘最大的‘=>‘‘,

    ‘最牛的‘=>‘‘,

    ‘首家‘=>‘第一‘

);

$name = ‘change‘;

$filesarr = getfile($name);

change($name, $filesarr, $changetest);

【原创】使用PHP批量替换静态HTML中违规内容