Twitter Search API の検索結果(Atom)におけるtitleとcontentの違い

IBMのサイト内にあるドキュメントのTwitter Search API の使い方には次のような記述がある。

entry スタンザは、つぶやきを表します。 (中略) title と content の内容が同じであることに注目してください。つぶやきにはタイトルがありません。そのため、タイトルが実際のつぶやきそのものになるのは当然のことです。

Atom は記事のような文書を対象に設計されていることを思い出してください。記事では通常、見出しがあり、その後に本文が続きますが、つぶやきはその限りでないため、この 2 つの要素には同じ内容が含まれます。

これによると、Twitter Search API によって出力された検索結果(Atomフォーマット)で、entry内のtitleとcontentが同じであるとのことである。

しかし、僕が実際に試したところ、この二つは全く同一のものが入っているわけではなく、titleにはTweetの内容が素のままで入っていて、contentにはTweet内のURLなどにあらかじめアンカーをつけてリンク形式になったものが入っていた。(最初、あまりドキュメントを読まずに試してみたときは、適宜使い分けろという意図なのだと思った。)

で、僕はリンク付きならcontentを使ったらいいんだな、という理解で使おうとしたんだけど、これがまた調子が悪い。

画像にで、上がTweet部分にcontentの内容を利用したもので、下がtitleを利用したものである。日本語だけの問題なのかもしれないが、contentを利用したものは、どこまでがURLなのかをうまく判断できておらず、リンクがおかしくなってしまう場合がある。この不具合により、contentの利用は諦めた。

twitter_20100210_01

だからといって、titleに入っている内容はリンクも何もされていない状態なので、これはこれで使えない。そこで、正規表現を使ってURLを自動的にリンクとして表示するようにした。そのための正規表現は以下のようになる。

$text = ereg_replace("(https?|ftp)(://[[:alnum:]+$;?.%,!#~*/:@&=_-]+)", "\1\2" , $text); 

正直、何をしてるのかよくわからんのですが、正規表現って便利なんだなというのを実感しました。適当にぐぐればすぐ出てくるのですが、参考にしたサイトは、URLの自動リンクをする正規表現(PHP) – こまちドーナツおよび[PHP-users 20308]自動リンクです。

まとめ

  • 海外のサービスは日本語関連処理が苦手
  • 正規表現はなにかと使える

Similar Posts:

この記事へのコメント

現在、この記事へのコメントはありません。

コメントをどうぞ

この記事へのトラックバックとピンバック

現在、この記事へのトラックバックはありません。

TrackBack URL