Twitterで遊ぼう


tw001.jpg

Twitterにはまり中です。まだ友達登録は少ないですが、緩さ加減が堪らなく良いです。

詳しくは色々なサイト様が説明していただいているのでアンカーを出すに止めますが、面白いと思える人には本当に面白い道具として扱えると思います。暇つぶしに使える人もいるかと思うw

それで色々触っているうちに楽しくなってきまして、この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に戻るのでこのパッチはお役御免になってくれますね。こうやって使いやすくなっていくのが一番いいですっ

ともだちぼしゅうちゅう!

関連記事:

  1. Services_Twitter
  2. Twitterで地震速報を受け取ろう
  3. Leopardでユーザーディレクトリの位置を変更する方法
  4. twitterMobileを改良

3 thoughts on “Twitterで遊ぼう

  1. Pingback: チェリオメアリー

  2. Pingback: ついったーの「?」なメモ :: cakesjun

  3. Pingback: ESCAPE BLOG

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>