No.2115

てがろぐCGIが出力した最新の1件を任意の場所に埋め込む方法 がありますが、.phpのページに埋め込みたかったので力技で実現・成功しました。レアケースだと思いますが同様の事がしたい人がいらっしゃいましたら参考までに…。
やり方
①にししさんの解説 に従って「てがろぐCGIで最新の1件だけを簡潔に表示するスキン」を作る
②下の引用枠部分(<?phpから?>まで全部)をテキストエディタにコピペして、要設定部分を自分のサーバー仕様に合わせて書き換える。そしてtegalog_umekomi.phpなど任意の名前で、文字コードをUTF-8Nに指定して保存
③埋め込む側の.phpファイル内の埋め込みたい部分に include "tegalog_umekomi.php"; と書く
④埋め込む側のphpとtegalog_umekomi.phpを同じディレクトリにアップロード
<?php
//----------要設定部分----------
//てがろぐCGIがあるフォルダの絶対パスもしくは埋め込む.phpファイルから見た相対パス
//cgi本体のファイル名は含めない、最後の/は入れない
$tegalog_pass = "ttps://example.com/tegalog";
//てがろぐCGI本体のファイル名
$tegalog_cgi = "tegalog.cgi";
//埋め込み用スキンが入ってるフォルダ名
$skinname = "umekomi";
//てがろぐ内部画像が入ってるフォルダ名
$naibuimg = "images";
//---------設定ここまで---------
//埋め込み用スキンがHTML出力した内容を$content変数に入れる
$umekomi_html = "$tegalog_pass"."/"."$tegalog_cgi"."?skin="."$skinname";
$content = file_get_contents($umekomi_html);
//埋め込み用スキンがHTML出力した相対パス部分を置換
//内部画像の表示
$content = str_replace("src=\"$naibuimg/", "src=\"$tegalog_pass/$naibuimg/", $content);
//内部画像へのリンク
$content = str_replace("href=\"$naibuimg/", "href=\"$tegalog_pass/$naibuimg/", $content);
//カテゴリやハッシュタグなどCGIの機能を使ったリンク部分
$content = str_replace("href=\"?", "href=\"$tegalog_pass/$tegalog_cgi?", $content);
//リンク部分で、埋め込み用スキン指定になっているのを解除
$content = str_replace("skin=$skinname", "", $content);
//出力
echo $content;
?>
最初はRSSフィードを読んで出力する方法でやっていたのですが、画像を含む投稿で不都合があったのでこっちの方が良いです。また、この方法ならSSIの時同様きちんとPowered-by表記も入ります(^∀^) 4年以上前(火 16:26:44)