0

PHPを使用してTwitterに自動投稿を実装しようとしています。

しかし、twitt の文字制限のため、 http://www.appdropp.com/ios/stone-age-the-board-game/564247778のように完全なリンクを配置する代わりに、tinyURL を使用する方法を知りたいと思いました。

かなり長いですよね…

次のようなサービスを知っています。

  • tinyurl.com
  • goo.gl

しかし、これらのサービスを大量に使用して、PHP で毎日何百ものリンクを生成するにはどうすればよいでしょうか?

4

2 に答える 2

1

このメソッドは、近い将来変更される可能性がある TinyURL ページ構造に依存することに注意して ください。大量に使用しないでください。または、API を要求しますか?

このように使用できます。

  1. URL をエンコードします。urlencode
    を使用する
  2. にエンコード URL を追加します
    $url='http://tinyurl.com/create.php?source=indexpage&url=<encoded url>
  3. dom オブジェクトを作成する
    $doc=new DomDocuement();
  4. ページをロードします。
    $doc->loadHTMLFile($url); // this is page containing shorten url
  5. shorten url..を含むノードを取得します。2番目blockquoteには短縮 URL が含まれます
    $nodelist=$doc->getElementsByTagName('blockquote');
    $blockquote=$nodelist->item(1) // grabbing shorten url blockquote 0:first 1:second
  6. 短縮URLを取得します:
    $shorten_url=$blockquote->$firstChild->NodeValue
  7. お好きなところにお使いください。

    詳細については、小さな URL ページ構造
    を参照してくださいDOMDocument
    の詳細をお読みください

于 2013-12-14T04:33:47.363 に答える
0

Google API で確認できますが、そこまで大量かどうかはわかりません。3 つの解決策を提案できます。

  1. PHP を使用してホストに短いリンクを作成します。
  2. 直接ツイートすると、Twitter が URL を短縮します。ただし、自動投稿を使用してそれを行うことはできません。そのため、文字数 ( などmessage + URL <= 140) を数え、自動ツイートの長さを 140 文字未満に保ちます。
  3. これを試すこともできます(PHPソースコードの例を確認してください

    関数 CompressURL($url) {
       $ch = curl_init();
       curl_setopt($ch, CURLOPT_URL, "http://"."to.ly/api.php?longurl=".urlencode($url));
       curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
       curl_setopt($ch, CURLOPT_HEADER, 0);
    
       $shorturl = curl_exec ($ch);
       curl_close ($ch);
    
       $shorturl を返します。
    }
    echo CompressURL("http://twitter.com"); // テスト
    
于 2013-12-26T02:03:52.217 に答える