0

主な質問は少し短いので、協力します。基本的なアクション (投稿の取得、投稿の実行、返信など) を実行できる twitter 用のアプリを作成しています。

ここで、アプリで最大 140 文字の制限を確認することをお勧めします。ここまでは順調だったので、URL 短縮サービスもできるかどうか尋ねられました。

したがって、現時点では、ほとんどの(実際には多すぎる)URLを選択し、それらの長さを取り、最大140との差を追加または推定する正規表現があります。それはまだバグがありますが、私はそれを管理できます。

今私の問題....

twitter は、彼らが URL であると考えるものに非常にうるさいようです: 私は最も基本的なもの (http(s):// などで始まる) を取得しましたが、twitter はいくつかの tld を非常に簡単に置き換えることもできます (www.)google.com [何でも] .net/.biz/.info はほんの一部です) .nl .de .tk は除きます

今、私は、おそらく誰かが、自分が「短縮」しているものとしていないものを見つけたのではないかと思っていました.

私の正規表現が最善ではないことは確かなので、ここでもそれを削除します。

((http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?)|([\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?)
4

3 に答える 3

1

http://support.twitter.com/articles/78124-how-to-shorten-links-urls#は、Twitterに投稿されたすべてのURLが正確に19文字の長さに書き換えられることを示しています。

于 2012-05-09T08:15:00.590 に答える
0

私はこれを使用しています:var url_expression = /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi;誰も文句を言っていません:)

于 2012-05-09T04:53:18.127 に答える
0

私はそれを理解しました.tldウィキページでかなり重要な行を見つけました。すべての国のTLDは2文字の長さであると述べています。また、その逆もあります。2 char tld はすべて国です。それを念頭に置いて、私はTwitterでそれらの束をテストし始めました。今では、どのURLのTwitterが短縮され、どのURLが短縮されていないかを知っていると確信しています.

  • すべての URL は http:// または https:// で始まります
  • すべての URL は [something].[non country tld] # .com .biz .mobi など (.arpa と .aero を除く)
  • すべての URL は [something].[something].[valid tld] # 国を含む

  • http://[user]:[pass]@[something].[tld] のようなリンクは短縮されません

そのための正規表現を作成するために、私がそれを持っていると思うとすぐにここに投稿します:D

これは私がこれまでに得たものです:

/(^(?:(?:ht|f)tp(?:s?)\:\/\/|~\/|\/)?(?:(?:[-\w]+\.)+(?:com|asia|cat|coop|edu|int|tel|pro|org|net|gov|mil|biz|info|mobi|name|jobs|museum|travel|([a-z]{2})))(?::[\d]{1,5})?(?:(?:(?:\/(?:[-\w~!$+|.,=\(\)]|%[a-f\d]{2})+)+|\/)+|\?|#)?(?:(?:\?(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=?(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)(?:&(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=?(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)*)*(?:#(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)?)/gim;

まだ 1 つの重大な欠陥があり、[domain].[tld] も受け入れますが、twitter は受け入れません。

これが将来誰かに役立つことを願っています。これに関する簡単に見つけられる情報が Web 上にあまりないことは確かです (または、少なくとも私は見つけることができませんでした)。

于 2012-05-09T08:46:48.717 に答える