Twitterにはまり中です。まだ友達登録は少ないですが、緩さ加減が堪らなく良いです。
詳しくは色々なサイト様が説明していただいているのでアンカーを出すに止めますが、面白いと思える人には本当に面白い道具として扱えると思います。暇つぶしに使える人もいるかと思うw
- caramel*vanilla :: Twitterが激しく面白すぎる件と日本語のTwitterツールいろいろ
- 百式 :: 「今、何をしているの?」でつながる『twitter』
- ついったー部 :: ついったーの楽しみかた
それで色々触っているうちに楽しくなってきまして、このblogのトップページにも一定時間毎に最新の自分のメッセージを引っ張ってくる様にしてみました。これはRSSを解析して最初の記事を取ってるだけのオモチャなので公開しません。公開するやつを作るならAPIを使う様にしますよっ。
そして携帯から投稿する為にminiturbo.orgのkzさんが作成されたtwitterMobileを使ってみたのですが、半角数字やら入れたりするのが面倒!
そこでakiyan.com :: Twitterで日本語を入力する方法を流し読みして、適当にHackしてみました。
ちなみにAuのneon(W42T)で動作してますと報告してみる。
index.php: 180行あたり post_to_twitter関数
$value = convert($value, "UTF-8");
+ include_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'converter.php';
+ $value = twfix($value);
$URL = parse_url("http://$user:$pass@twitter.com/statuses/update.xml");
converter.php 新規作成 (文字コードはUTF-8で)
<?php
function twfix($value) {
// 日本語の調整
mb_internal_encoding("UTF-8");
mb_regex_encoding("UTF-8");
$token = array();
while(1) {
$bytes = mb_ereg("([一-龠]|[ぁ-ん]|[ァ-ヴー]|[a-zA-Z0-9])+|[a-zA-Z0-9]+", $value, $match);
if ($bytes === false) {
break;
} else {
$match = $match[0];
array_push($token, $match);
}
$pos = strpos($value, $match);
$value = substr($value, $pos + $bytes);
}
return implode(' ', $token) . ' ';
}
?>
これで取りあえず半角文字の前後に半角スペースを挿入して、最後に半角スペースを挿入するようになっているので、あまり考えなくても書き込めるかと思います。
17:20 追記
別ファイル作らない方法で修正しなおしました。
index.php: twitter_mobile_0.3.patch
*** index-old.php Mon Apr 9 18:00:08 2007
--- index.php Tue Apr 10 17:37:19 2007
***************
*** 177,182 ****
--- 177,200 ----
$value = htmlspecialchars($value);
$value = convert($value, "UTF-8");
+ // 日本語の調整 append by Yuki
+ $str = $value;
+ $pattern = '([一-龠]|[ぁ-ん]|[ァ-ヴー]|[a-zA-Z0-9])+|[!-~]+';
+ $pattern = convert($pattern, "UTF-8");
+ $token = array();
+ while(1) {
+ $bytes = mb_ereg($pattern, $str, $match);
+ if ($bytes === false) {
+ break;
+ } else {
+ $match = $match[0];
+ array_push($token, $match);
+ }
+ $pos = strpos($str, $match);
+ $str = substr($str, $pos + $bytes);
+ }
+ $value = implode(' ', $token) . ' ';
+
$URL = parse_url("http://$user:$pass@twitter.com/statuses/update.xml");
$URL['port'] = 80;
$postdata = "status=" . urlencode($value);
4/13 12:00 追記
0.4では日本語対応がなされていますので、そのまま使う事が可能になっています。ただ、curlを使っているので使えない環境があるかと思います。
次のバージョンではおそらくfsockopenに戻るのでこのパッチはお役御免になってくれますね。こうやって使いやすくなっていくのが一番いいですっ

Pingback: チェリオメアリー
Pingback: ついったーの「?」なメモ :: cakesjun
Pingback: ESCAPE BLOG