0

所以,除了链接部分,我的脚本还可以。它是一个 jquery twitter 提要脚本,可以拉入我的推文。它通过正则表达式生成的链接应该是 - http://twitter.com - 而是以http://www.mydomain.com/http://twitter.com的形式出现- obv 不起作用。

澄清 - 当一个 twitter 提要通过其中包含文本链接时 - 正则表达式将其转换为正确的链接,但将页面当前 url 放在它前面。

<script language="JavaScript">
$.getJSON("https://twitter.com/statuses/user_timeline.json screen_name=twitternamehere&count=2&callback=?",
function(data){
$.each(data, function(i,item){
ct = item.text;
mytime = item.created_at;
var strtime = mytime.replace(/(\+\S+) (.*)/, '$2 $1')
var mydate = new Date(Date.parse(strtime)).toLocaleDateString();
var mytime = new Date(Date.parse(strtime)).toLocaleTimeString();        

ct = ct.replace(/http:\/\/\S+/g,  '<a href="$&" target="_blank">$&</a>');
ct = ct.replace(/\s(@)(\w+)/g,    ' @<a href="http://twitter.com/$2" target="_blank">$2</a>');
ct = ct.replace(/\s(#)(\w+)/g,    ' #<a href="http://search.twitter.com/search?q=%23$2" target="_blank">$2</a>');

 $("#tweetRow").append("<div class='container'><div class='date'> "+mydate+" "+mytime+" </div><div class='tweet'> "+ct+" </div></div>");
            });
$('.container:last').addClass('container2'); 
            });
</script>
4

1 回答 1

0
function processTwitLnk(text) {
    var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/i;
    text = text.replace(exp, "<a href='$1' target='_blank'>$1</a>");
    exp = /(^|\s)#(\w+)/g;
    text = text.replace(exp, "$1<a href='http://search.twitter.com/search?q=%23$2' target='_blank'>#$2</a>");
    exp = /(^|\s)@(\w+)/g;
    text = text.replace(exp, "$1<a href='http://www.twitter.com/$2' target='_blank'>@$2</a>");
    return text;
}

ct=processTwitLnk(ct);

希望这可以帮助!!

于 2012-08-22T18:00:16.183 回答