2009年4月16日木曜日

格安ロリポ企画を考える & お天気表示のPHP


こちらの大阪最大級のドッグランは驚きのプライスでホームページを作らせていただきました。
長いお付き合いの会社の新事業で、とにかく予算がなく何とかしてほしいということで…。

で、本当にまったくコラズに作り、SEOだけはして、あとはロリポブログにまるなげという簡単サイト。
低予算に挑戦しましたわ。ホンマに。でも、けっこうロリポブログのpingも優秀みたいで人は来ている。
お陰で今年度は若干予算をいただけ、リニューアル決定しました。

これも私のseoのお陰でしょう。
でも考えたら予算なんて安ければ安いほどいいし、まぁ見栄えは写真でなんとかなるし、
これは、これでありかなと思うようになりましたが…。


ただ、悲しいかなロリポのブログはカテゴリー別のrssを表示させることができないので、順番に表示させることくらいしかできない。 (ロリポのrssはどうも、過去のデータを全部表示してしまうらしく、それを調整したりすることができない。sectionを条件に抜き出すことも可能だと思うけど、データが100、200になった後に結構重たくなる…のであまり意味がない)

でも、ロリポブログは1アカウントに対して3つまで作れることがわかりましたので、
それで作って対応することも可能でしょう。

ドメインが違うことなんて無視です。 takkyun様が作ったすばらしいジャバスクリプでできた写真表示のシステムがあるのがよかったと思う。


すごいなぁと思った。 いつか暇みてしたいけど、ロリポブログのお気軽さはやはり捨てられない。

でも、ロリポブログなら10秒でできるからねぇ…。

ブログのよさである検索マドがなぜかないのでgoogleでつけた(多少稼げるかも…)

それでいい!というクライアントが私なんかは多いんで、スピード命でやっていきたいと思っております。

*************************
ドッグランなので、明日行ってみようかな…と思っている人が見ると想定し
天気予報をつけました。 ライブドアの天気予報を利用しております。
文字化けがあったので対応、以下でutf-8として書き出すことができます。





<?php
//ファンクション宣言
function lwws($city,$day){
//XMLデータ取得用ベースURL
$req = "http://weather.livedoor.com/forecast/webservice/rest/v1?city=81&day=tomorrow";

//XMLファイル内容を全て文字列に読み込む
$buf = file_get_contents($req);

//// なぜかsjisにしないと抜けない
mb_convert_variables("SJIS","utf-8",$buf);

preg_match_all('@<title>(.*?)</title>.*?<description>(.*?)</description>.*?<image>.*?<title>(.*?)</title>.*?<url>(.*?)</url>.*?</image>.*?<temperature>.*?<max>.*?<celsius>(.*?)</celsius>.*?</max>.*?<min>.*?<celsius>(.*?)</celsius>.*?</min>.*?</temperature>@s',$buf, $match, PREG_SET_ORDER);

// '<>'の文字化け処理
$cont = $match[0][2];
$cont= (str_replace("&lt;","<",$cont));
$cont= (str_replace("&gt;",">",$cont));
$cont= (str_replace("&quot;","\"",$cont));
// またutf-8にもどす
mb_convert_variables("utf-8","SJIS",$cont);
mb_convert_variables("utf-8","SJIS",$match[0][3]);

$next = strtotime("+1 day");

$ret = '<div class="lwws">';
$ret .= "<div>大阪府&nbsp;明日:". date("j",$next)."日の天気</div>";
$ret .= "<div><img src="".$match[0][4]."" alt="".$match[0]
[3].""></div>";
$ret .= "<p align="left">".$cont."</p>";
$ret .= "</div>";

return $ret;
}

//出力部分

echo "<h5><a target=_blank href="http://weather.livedoor.com/point/city/1667.html">Livedoor天気予報</a></h5>";
$tenki = lwws($city,$day);
echo $tenki;

?>







utf-8 で保存してください。ここまでよくできるようになったものだ… なーんてネタ元はPHP pro
なんですけど。このままだと文字化けになる。

お近くの場所はこのあたりで調べられます

****************************
後日、mb_convert_variables("utf-8","SJIS",$match[0][3]); を追加しました。 お天気のイメージのところのaltの部分もエンコードを統一していないと、IE6でその後、加工とかしてたら見れなくなることを発見!
エンコードは統一することはくれぐれも注意したいものです。

お問合せフォーム

お名前 :
Email: (必須)
メッセージ: (必須)


0 コメント :

コメントを投稿



連絡フォーム

名前

メール *

メッセージ *

サイト内検索