人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPの質問です。

HTMLコードの中にある指定したコメント部分の中身を置き換えたいのですが、上手くいきません。


<!-- COMMENT_START -->置き換えたい文字列(正規表現を含む)<!-- COMMENT_END -->


ちなみに、こんな感じでやってみたのですがダメでした。
preg_replace('/<!-- COMMENT_START -->(.*?)<!-- COMMENT_END -->/', '置き換えた文字', HTMLファイル名);


●質問者: black_kenchan
●カテゴリ:ウェブ制作
✍キーワード:HTML PHP コメント コード ダメ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● kn1967
●100ポイント ベストアンサー

正規表現での置換については下記になります。

<?php
$text = "あいうえお<!-- COMMENT_START -->(.*?)<!-- COMMENT_END -->かきくけこ";
$text = preg_replace('/(<!-- COMMENT_START -->).*?(<!-- COMMENT_END -->)/', '$1さしすせそ$3', $text);
echo $text;
?>

PHP: preg_replace - Manual


preg_replace はファイルを直接書き換えたりできませんので

(1)ファイルを読み込む

(2)上記の方法で置換

(3)ファイルへ書き込む

という手順が必要になるので下記のようになります。

※php のバージョンは5を想定しています。(前述の正規表現は4でもOK)

※MySQLなどと同様にバージョンによって違いがありますので

次回からは忘れずに明記しておくことを勧めます。

※ファイルが無いとか書き込み権限が無いなどの理由で

エラーが起こる場合の対処などは施してありません。

<?php
$text = file_get_contents('ファイル名');
$text = preg_replace('/(<!-- COMMENT_START -->).*?(<!-- COMMENT_END -->)/', '$1さしすせそ$3', $text);
file_put_contents('ファイル名', $text)
?>

PHP: file_get_contents - Manual

PHP: file_put_contents - Manual

◎質問者からの返答

出来ました!

色々、教えてくださって有難う御座います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ