2008年6月14日土曜日

人気ヘアケアブログランキングBLOGGER phpでページ内容取り出し

ヘアケア通販のページと美容室のページの更新案内をブログ形式に改めました。

当店の peaks-jp.com のサブドメインを使わず

http://peaksclub.blogspot.com/
ピークスクラブ 更新情報




http://atelierhairpeaks.blogspot.com/
アトリエヘアピークス 更新情報




と、BLOGGERで用意されているblogspotのサブドメインを使いました。
SEO的にも外部リンクの方がいいのかな?という姑息な手段です・・・
これらのページから左画像のような最新の更新案内をphpでの取り出し方です。




<?php
$c=1;
$context = stream_context_create(array('http' => array(
'method' => 'GET',
'header' => 'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',
)));
$url = "http://peaksclub.blogspot.com/";#取り出すBLOG
#$data = file_get_contents($url, false, $context); #ブラウザの指定などする場合はこんな感じ
$data = file_get_contents($url);

preg_match_all("/(<([h2|p]+)[^>]*>)(.*)(<\/\\2>)/", $data, $matches);#該当タグだけ取り出し
for ($i=0; $i< count($matches[0]); $i++) {
if($c>6){break;}#5件だけ取り出し
if(strstr ($matches[0][$i], 'date-header')){list($year, $month, $day) = split("/", $matches[3][$i]);$Date = sprintf("%04d年%02d月%02d日", $year, $month, $day);echo "<dt>" . $Date . "</dt>\n";}#class属性のdate-headerを取り出し日付の書式変更
if(strstr ($matches[0][$i], '<p>')){ echo "<dd>" . $matches[3][$i] . " </dd>\n";$c++;}
}#本文取り出し
?>



上のスクリプトはプログのページソースを見て取り出したいタグ内で括られていることが大事で改行されていると取り出せない単純な使用で
ウイジットテンプレートの<data:post.body/>が下記のように<p>で括る必要があり
<p><data:post.body/></p>。

又、日付の書式がyyyy/mm/ddのようにスラッシユできられている場合に書式も変更されて修正無く使えます。(スクリプトはutf8で製作)

ラベル: ,

<< ヘアサロン店長の独り言♂最新トップページ



PING送信プラス by SEO対策

ashiato

VISAカード


-外国為替-