2

有什么方法可以从 twitter url 中找到 twitter 小部件 id?

用户将把推特网址放在那里,我必须像这样为他们创建小部件

<a class="twitter-timeline" href="https://twitter.com/twitterapi" data-widget-id="YOUR-WIDGET-ID-HERE">Tweets by @twitterapi</a>

<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

但要生成它,我需要有小部件 ID!data-widget-id="YOUR-WIDGET-ID-HERE"

4

2 回答 2

4

可以通过登录 Twitter 来创建小部件,并且:

  1. 转到:https ://twitter.com/settings/widgets
  2. 按“新建”按钮
  3. 填写设置
  4. 点击“创建小部件”按钮

您的小部件 ID 将在代码文本框中可见:

截屏

于 2013-06-17T11:40:59.040 回答
0

事实上,没有办法自动找到小部件 id,但您可以在 PHP 中创建一个函数来将 twitter 嵌入您的网站。

我为一个开源项目创建了一个简单的插件:

---// twitter_plugin.php //-----

<?php    
function twitter_page ($search){

    # first we remove unwanted tags, for 
    # security reasons only and remove unwanted space.

    if($search ==""){
        exit;
    } else {
        //echo "<h2>" . $search . "</h2><br>";

        # wikipedia URL
        $url = "https://mobile.twitter.com/" . $search;

        # initialize curl
        $ch = curl_init();

        # Get the user agent of the visitor...

        $user_agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1";
        $_referer ="http://www.google.com"; 

        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch,CURLOPT_USERAGENT,$user_agent);
        curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 0);
        curl_setopt ($ch, CURLOPT_AUTOREFERER, 1);
        curl_setopt($ch,CURLOPT_REFERER,$_referer); 
        curl_setopt($ch, CURLOPT_HEADER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);



        $definition = curl_exec($ch);

        $cellphone = "You are on Twitter Mobile because you are using an old version of Internet Explorer. Learn more";
        $definition = str_replace($cellphone, "More information about Twitter ", $definition);
        $definition = str_replace('href="', ' target="_blank" href="', $definition);
        $definition = str_replace('action="', 'target="_blank" action="https://mobile.twitter.com/', $definition);
        $definition = str_replace("href='", " target='_blank' href='", $definition);
        $definition = str_replace('https://mobile.twitter.com/', 'https://twitter.com/', $definition);
        $definition = str_replace('href="/', 'href="https://twitter.com/', $definition);
        $definition = str_replace('class="tweet-text"', 'class="tweet-text" style="color:rgb(0,0,0);"', $definition);



        $needle = '<div class="w-mediaonebox">';
        $pos = strpos ($definition, $needle);
        $definition=substr($definition,$pos, strlen($definition));



        echo "<div class=\"w-mediaonebox\">\n" . $definition; 


        curl_close($ch);
        echo "</div>";

    } 
}



if(isset($twitter)){

    twitter_page($twitter); 

}

----// php 脚本结束 //----

这就是您可以使用插件的方式:

<div style="height:880px; width:550px; overflow:auto; overflow-style:marquee-line;">
<?php
$twitter = 'nova_says';
include_once('include/twitter_plugin.php');
?>
</div>

此插件的 Demo 可在以下网址找到: http ://www.heathernova.us/index-page-405-category-405.html

于 2013-12-29T16:04:25.547 回答