- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:外部html読み→書き換え→上書き保存をしたい)
外部html読み→書き換え→上書き保存をしたい
このQ&Aのポイント
- 外部htmlを読み込んで、書き換えて、上書き保存したい。詳しい方いらっしゃいましたら教えていただけますでしょうか。
- index.php内で、ボタンをクリックするとtarget.htmlが読み込まれ、target.htmlの内容が書き換えられ、上書き保存される処理を行いたい。
- どんな内容に書き換えるかは全てindex.php内のphpに記述したい。可能でしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
「外部html」という表現がどういう意味なのかわかりませんが、target.htmlがindex.phpから「読み書きできる」のであれば可能です。 読み書きできるのであれば、普通にファイル(テキストファイル)として扱えばいいです。それ以上でも以下でもありません。 http://jp2.php.net/manual/ja/ref.filesystem.php file_get_contents()やfile()でまとめて読み込んでおいて、必要な書き替え処理を行ってからfopen()→fputs()→fclose()でしょうかね。 ちなみに「外部html」というのが「まったくの別サーバのファイル」であれば、当然ながら書き込みできませんので無理です(もし書き込めたら、それは改竄といいます)。
お礼
頂いたアドバイスをもとに無事できました。 ありがとうございました! 最終的に以下のような処理にしました。 $beforeHtml //元のhtml $afterHtml // 元のhtmlを書き換えた新しいhtml $replace //変換したい場所の記号 $text //記号と置き換える文字 $read = fopen("new/".$beforeHtml, "r"); $write = fopen("new/".$afterHtml, "w"); mb_regex_encoding("UTF-8"); while( !feof ($read) ) { $line = rtrim(fgets($read)); $line = mb_ereg_replace($replace, $text, $line); fputs($write, $line."\n"); } fclose($write); fclose($read);