0

だから、私のスクリプトはリンク部分を別にして大丈夫です。私のツイートを取り込むjqueryTwitterフィードスクリプトです。正規表現を介して生成されるリンクは、次のようになります-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 に答える