• 締切済み

htmlのソースの一部を変更

題名の通りなのですが、 あるhtmlに記述されている <img src="./aaa/bbb/ccc1.gif"> <img src="./aaa/bbb/ccc2.gif"> <img src="./aaa/bbb/ccc3.gif"> という画像のソースの「ccc」の部分をphpを使って 一つの操作で3つの「ccc」を変更するというのは可能なのでしょうか? (別に「aaa」「bbb」の部分でも構いません。) 当然、可能な場合には アップロードされているファイル名も変える必要がある為、 ソースだけでなく、アップされているファイル名の 変更が可能かどうかもお聞きしたいのですが、 理想としましては、管理画面などで 各htmlのパスやファイル名を呼び出して、 ブラウザ上なので変更できたら一番望ましいのですが お分かりになる方がおりましたら、是非ご教授ください。

みんなの回答

  • iiikkk
  • ベストアンサー率37% (92/247)
回答No.2

テンプレートを使ってやればよいと思いますよ。

参考URL:
http://php.hoge.org/phpkodomo/06-it.txt
回答No.1

可能か、可能でないか、と言う質問に対しては、 「可能です」 と言う回答です。 htmlとファイル名を管理画面でごそっと変えたい、と言う事のようですので、それなりのプログラムを作成する必要があります。 決まりきった文字(正規表現は分りますか?)を一括変換であれば、ファイルを読み込んで、 ereg_replace ("ccc", "new", $string); とのような関数を使えば変換出来ます。 これを管理画面でやろうとすると、当然cccやnewの部分を変数としてフォームで受け渡しすれば良いです。 例えば管理画面では 変換前<input type="text" name="from"> 変換後<input type="text" name="to"> <input type="submit" name="convert" value="一括変換"> のようなフォームを作っておき、先ほどの関数 ereg_replace ($_POST[from],$_POST[new], $string); で変換し、新しいhtmlを保存します。同時に、指定ファイルを呼び出して、リネームするわけですが、、、 rename ($oldname,$newname); しかし、正規表現の記述等が誤っていた場合はとても危険ですので、とりあえずコピーをして copy ($oldname, $newname); 確認してから削除 unlink ($oldname); あたりが妥当でしょうね。 当然、ファイルにせよ、ディレクトリにせよ、Apacheに実行権限が無ければ駄目です。 目的が見えて来ないので適切なアドバイスは出来ませんが、結論から言うと、「可能です」。

関連するQ&A