【91日目】関連記事をおしゃれに表示させたい!-5
Posted: Last Update:
「関連記事の投稿をおしゃれに表示したい」という課題に取り掛かって早5日目。スタイルシートは書き終えたものの、PHPでリンクを呼び出すことができなくて苦戦しています。
昨日までの成果と今日やりたいこと
まず、関連リンクを入れる箱はスクリーンショットのように完成しています。
昨日はPHPを書き始めて、何とかここまでたどり着いたものの、案の定エラーが出ています。今日はこのPHPを修正していきたいです。
<?php
$linkset = '/<a id="bloglink" (.*?)>(.*?)<\/a>/i';
preg_match_all($linkset , $articlebody, $matches, PREG_SET_ORDER );
$i = 0;
foreach($matches as $link){
$linkset2 = '/<a id="bloglink" href="(.*?)">/';
preg_match($linkset2, $link, $link2);
require("$myurl/$link2");
$bloglink = preg_replace( '<a id="bloglink" (.*?)>(.*?)<\/a>/', '
<div id="bloglink">
<div id="bloglinkimg"><img src="$articleimage" alt="$articletitle"></div>
<div id="bloglinktext">
<b>$articletitle</b><br>
<p>$articledescription</p>
</div>
</div>
', $link[0]);
$articlebody = preg_replace( $linkset, $bloglink, $articlebody, 1);
}
?>
$linkset = '/<a id="bloglink" (.*?)>(.*?)<\/a>/i';
preg_match_all($linkset , $articlebody, $matches, PREG_SET_ORDER );
$i = 0;
foreach($matches as $link){
$linkset2 = '/<a id="bloglink" href="(.*?)">/';
preg_match($linkset2, $link, $link2);
require("$myurl/$link2");
$bloglink = preg_replace( '<a id="bloglink" (.*?)>(.*?)<\/a>/', '
<div id="bloglink">
<div id="bloglinkimg"><img src="$articleimage" alt="$articletitle"></div>
<div id="bloglinktext">
<b>$articletitle</b><br>
<p>$articledescription</p>
</div>
</div>
', $link[0]);
$articlebody = preg_replace( $linkset, $bloglink, $articlebody, 1);
}
?>
PHPの問題点
関連リンクに入る投稿の情報をなんとか引っ張って来ようとしているのですが、このPHPがうまく動いていないんですよね。「stringが入る場所にarrayが入ってしまっていますよ~」とエラーに注意されます。
どうやって修正しようかな…。
いろいろと弄って学んだこと。pre_matchを使うと、該当の文字列はarrayとして把握される…。他に使えるものあるのかな?
またいろいろと確認して、最初の行の$linksetを変えました。これで「stringが入る場所にarrayが入ってしまっていますよ~」とエラーは回避できたけれど、ファイル情報は相変わらず引っ張ってくることができません!
<?php
$linkset = '/<a id="bloglink" id="(.*?")>(.*?)<\/a>/i';
preg_match_all($linkset , $articlebody, $matches, PREG_SET_ORDER );
$i = 0;
foreach($matches as $link){
require ($link[2]);
$bloglink = preg_replace( '/<a id="bloglink" id="(.*?")>(.*?)<\/a>/', '
<div id="bloglink">
<div id="bloglinkimg"><img src="$articleimage" alt="$articletitle"></div>
<div id="bloglinktext">
<b>$articletitle</b><br>
<p>$articledescription</p>
</div>
</div>
', $link[0]);
$articlebody = preg_replace( $linkset, $bloglink, $articlebody, 1);
}
?>
$linkset = '/<a id="bloglink" id="(.*?")>(.*?)<\/a>/i';
preg_match_all($linkset , $articlebody, $matches, PREG_SET_ORDER );
$i = 0;
foreach($matches as $link){
require ($link[2]);
$bloglink = preg_replace( '/<a id="bloglink" id="(.*?")>(.*?)<\/a>/', '
<div id="bloglink">
<div id="bloglinkimg"><img src="$articleimage" alt="$articletitle"></div>
<div id="bloglinktext">
<b>$articletitle</b><br>
<p>$articledescription</p>
</div>
</div>
', $link[0]);
$articlebody = preg_replace( $linkset, $bloglink, $articlebody, 1);
}
?>
今日はここまで
気長にやりましょう…。明日もまたPHPの研究です!どこかに入っている「href=""」を探し出して代入するだけ!きっと簡単!……そして、replaceも修正していかないと……。
では、また明日。
おまけのロードマップ
サイト作成がどのくらい進んでいるかロードマップで進捗を確認すると、ここまで進んでいます。
- 準備 - サイトの全体像を決める
- 使用するプログラミング言語を決めて環境を整える
- サイトの基本構造を作って公開する
- 収益化に最適なサイトにアップグレードする
- GoogleアドセンスとAmazonアソシエイトの申し込みをする ←完了!
- ローカルで簡単に入力ができるようにフォームを作る
- フォローアップ - より収益化に向いたサイト構造に変更する