ホームページ > バックエンド開発 > PHPチュートリアル > HTML にコンテンツをバッチで挿入する

HTML にコンテンツをバッチで挿入する

WBOY
リリース: 2016-06-23 13:49:47
オリジナル
1517 人が閲覧しました

Web サイトには多くの HTML ページがあり、モバイル デバイスに適合させる必要があります。これらの HTML ページの

に 1 行の JS 参照を挿入する必要があります。


これらのページ構造はすべて同じであるため、php を使用して変更および挿入できるかどうか教えてください。一つずつ手動で?
この方法を使用すると、次のプロンプトが表示されます。 foreach() に無効な引数が指定されました。これは私が書いたものです
foreach('路径/*.hyml') as $fn) {  file_put_contents($fn, str_replace('</head>', '<script src="m.js" type="text/javascript"></script></head>', file_get_contents($fn)));}
ログイン後にコピー
ログイン後にコピー

foreach('路径/*.hyml') as $fn) {  file_put_contents($fn, str_replace('</head>', '<script src="m.js" type="text/javascript"></script></head>', file_get_contents($fn)));}
ログイン後にコピー
ログイン後にコピー


申し訳ありませんが、重要な関数を見逃していました

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)));}
ログイン後にコピー

次のような js ファイルをロードするメソッドを定義できます:

php

$ jslink = "";

$jslink .= "";

$jslink .= ""; ;script src=" m4.js" type="text/javascript">< /script>";

$jslink .= "";

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


html

{$jslink}

同じ構造を持つ多数の HTML ページ?

個人的には、投稿者が最初に構造を整理することをお勧めします...

申し訳ありませんが、重要な機能を見逃していました

/** 遍历文件夹及文件类*   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');
ログイン後にコピー



これでOKです。次に質問したいのですが、追加されたファイルの形式は次のとおりです:
は、ソースファイル内で、 と JS
を同じ行に引用するにはどうすればよいですか。
改行しますか? 、これの方が良さそうです
インターネットでメソッドを見つけました
file_put_contents($fn, str_replace('
',
'rn' を追加しても役に立ちません

rn は二重引用符でのみ有効になります
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)));}
ログイン後にコピー
ログイン後にコピー


rn は以下の場合にのみ有効になります二重引用符

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)));}
ログイン後にコピー
ログイン後にコピー

以上、とても良かったです、ありがとう

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート