Home > Backend Development > PHP Tutorial > 批量向html中插入内容

批量向html中插入内容

WBOY
Release: 2016-06-23 13:49:47
Original
1515 people have browsed it

网站有很多html页面,现在需要做移动适配,需要在这些html的页面

中插入一行JS引用,
插入这样的
<script></script>

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


回复讨论(解决方案)

foreach('路径/*.hyml') as $fn) {  file_put_contents($fn, str_replace('</head>', '<script src="m.js" type="text/javascript"></script></head>', file_get_contents($fn)));}
Copy after login
Copy after login

批量转换工具.exe

谢谢,我去试试

foreach('路径/*.hyml') as $fn) {  file_put_contents($fn, str_replace('</head>', '<script src="m.js" type="text/javascript"></script></head>', file_get_contents($fn)));}
Copy after login
Copy after login



用这个方法会提示:Invalid argument supplied for foreach(),我是这么写
foreach(('tiezi/20140610/*.html') as $fn) {  file_put_contents($fn, str_replace('</head>', '<script src="m.js" type="text/javascript"></script></head>', file_get_contents($fn)));}
Copy after login

/** 遍历文件夹及文件类*   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 || $depth<$this->maxdepth){ // 判断深度                            $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('</head>', '<script src="m.js" type="text/javascript"></script></head>', file_get_contents($file)));        }    }} // class end$obj = new FindFile();$obj->process('tiezi/20140610');
Copy after login

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

foreach(glob('tiezi/20140610/*.html') as $fn) {  file_put_contents($fn, str_replace('</head>', '<script src="m.js" type="text/javascript"></script></head>', file_get_contents($fn)));}
Copy after login
Copy after login

可以定义一个方法,加载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('</head>', '<script src="m.js" type="text/javascript"></script></head>', file_get_contents($fn)));}
Copy after login
Copy after login



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

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

file_put_contents($fn, str_replace('</head>', "<script src='m.js' type='text/javascrip'></script>\r\n</head>",
Copy after login
Copy after login

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

file_put_contents($fn, str_replace('</head>', "<script src='m.js' type='text/javascrip'></script>\r\n</head>",
Copy after login
Copy after login
 


这样就可以了,非常感谢
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template