欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

批量向html中插入内容

程序员文章站 2022-05-20 15:57:38
...
网站有很多html页面,现在需要做移动适配,需要在这些html的页面中插入一行JS引用,
插入这样的


请教下能不能用php批量修改插入,因为这些页面结构都是一样的,还是只能手动一个个的修改


回复讨论(解决方案)

foreach('路径/*.hyml') as $fn) {  file_put_contents($fn, str_replace('', '', file_get_contents($fn)));}

批量转换工具.exe

谢谢,我去试试

foreach('路径/*.hyml') as $fn) {  file_put_contents($fn, str_replace('', '', file_get_contents($fn)));}


用这个方法会提示:Invalid argument supplied for foreach(),我是这么写
foreach(('tiezi/20140610/*.html') as $fn) {  file_put_contents($fn, str_replace('', '', file_get_contents($fn)));}

/** 遍历文件夹及文件类*   Date:   2013-03-21*   Author: fdipzone*   Ver:    1.0**   Funcitons*   process 遍历文件及文件夹*   handle  处理文件方法*/class FindFile{ // class start    public $files = array();    // 存储遍历的文件    protected $maxdepth;        // 搜寻深度,0表示没有限制    /*  遍历文件及文件夹    *   @param String $spath     文件夹路径    *   @param int    $maxdepth  搜寻深度,默认搜寻全部    */    public function process($spath, $maxdepth=0){        if(isset($maxdepth) && is_numeric($maxdepth) && $maxdepth>0){            $this->maxdepth = $maxdepth;        }else{            $this->maxdepth = 0;        }        $this->files = array();        $this->traversing($spath); // 遍历    }    /*  遍历文件及文件夹    *   @param String $spath 文件夹路径    *   @param int    $depth 当前文件夹深度    */    private function traversing($spath, $depth=1){        if($handle = opendir($spath)){            while(($file=readdir($handle))!==false){                if($file!='.' && $file!='..'){                    $curfile = $spath.'/'.$file;                    if(is_dir($curfile)){ // dir                        if($this->maxdepth==0 || $depthmaxdepth){ // 判断深度                            $this->traversing($curfile, $depth+1);                        }                    }else{  // file                        $this->handle($curfile);                    }                }            }            closedir($handle);        }    }    /** 处理文件方法    *  @param String $file 文件路径    */    protected function handle($file){        if(strtolower(substr($file,-4))=='html'){            file_put_contents($file, str_replace('', '', file_get_contents($file)));        }    }} // class end$obj = new FindFile();$obj->process('tiezi/20140610');

不好意思,我漏了关键函数

foreach(glob('tiezi/20140610/*.html') as $fn) {  file_put_contents($fn, str_replace('', '', file_get_contents($fn)));}

可以定义一个方法,加载js文件的,如:

php

$jslink = "";
$jslink .= "";
$jslink .= "";
$jslink .= "";
$jslink .= "";
$this->assign('jslin',$jslink);


html

{$jslink}

很多页面结构一样的html?
我个人建议楼主先整理一下架构...

不好意思,我漏了关键函数

foreach(glob('tiezi/20140610/*.html') as $fn) {  file_put_contents($fn, str_replace('', '', file_get_contents($fn)));}


这个OK,现在想问下,这种添加出来的格式是:,在源文件中和JS
引用在一行,请问下怎么能让换行,这样好看点
在网上找了方法,
file_put_contents($fn, str_replace('', '\r\n',
添加'\r\n',没用

\r\n 在双引号中才会生效

file_put_contents($fn, str_replace('', "\r\n",

\r\n 在双引号中才会生效

file_put_contents($fn, str_replace('', "\r\n",

这样就可以了,非常感谢