2010年01月22日

iPhoneでニュース購読

[ Gadget ]

iPhoneでのニュース購読に「GNReader」を愛用していましたが、先日サービスが止まってしまい利用することが出来なくなってしまいました。このソフト、オフラインで読む事が出来るので、地下鉄通勤の私は朝の一時に重宝していたので代替えを探さなくては〜

で、google newsのフィードはこちらを参考に取得する事が出来たので、livedoor Reader +「LDR touch」 と組み合わせて使う事にしました。ただ、そのままフィードを読ませると、外部のイメージリンクやハイパーリンクが邪魔なので、PHPの整形スクリプトをサーバに準備して、その結果を購読する事にしました。

これで通勤電車の中でもサクサクです。

ま、素直に「Byline」とか「MNC」を使えば良いのでしょうが、ひねくれ者なので(笑)。

スクリプトですが、構文解析は面倒なので、不要なタグ削除を力技でこんな感じで書いてみました...

function strip_tag($src, $s_tag, $e_tag, $str)
{
	while (strpos($src, $s_tag, 0))
	{
		$s = strpos($src, $s_tag, 0);
		$e = strpos($src, $e_tag, $s);
		$src = substr_replace($src, $str, $s, $e - $s + strlen($e_tag));
	}
	return $src;
}

$xml = strip_tag($xml, "<b>...", "</b>", "...");

$xml = strip_tag($xml, "<table", ">", "");
$xml = strip_tag($xml, "</table", ">", "");
$xml = strip_tag($xml, "<tr", ">", "");
$xml = strip_tag($xml, "</tr", ">", "");
$xml = strip_tag($xml, "<td", ">", "");
$xml = strip_tag($xml, "</td", ">", "");
$xml = strip_tag($xml, "<a ", "</a>", "");
$xml = strip_tag($xml, "<font", ">", "");
$xml = strip_tag($xml, "</font", ">", "");
$xml = strip_tag($xml, "<br", ">", "");
$xml = strip_tag($xml, "<nobr", "/nobr>", "");
$xml = strip_tag($xml, " ", "-", "");
$xml = strip_tag($xml, "<div ", ">", "");
$xml = strip_tag($xml, "</div", ">", "");

$xml = strip_tag($xml, "<b", "</b>", "");

$xml = strip_tag($xml, "<img", ">", "");