Попробуйте изменить
$.each(data, function(){
$("#sNews ul.tweets").append("<li>" + replaceURLWithHTMLLinks(data.text) + "</li>");
до
$.each(data, function(post, val){
$("#sNews ul.tweets").append("<li>" + replaceURLWithHTMLLinks(val.text) + "</li>");
Редактировать :
Я изменил еще одну вещь, но забыл добавить ее в ответ.
callbackParameter: "jsoncallback",
должно быть
callbackParameter: "callback",
Просто для полноты вот тестовая страница, которую я сделал, которая работает:
<html>
<head>
<title>test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="jquery.jsonp-1.1.0.min.js"></script>
<script type="text/javascript">
$(document).ready( function() {
var jsonTwitterFeed = "http://twitter.com/statuses/user_timeline/dougw.json?count=3";
$.jsonp({
url: jsonTwitterFeed,
data: {},
dataType: "jsonp",
callbackParameter: "callback",
timeout: 5000,
success: function(data){
$.each(data, function(key, val){
$("#sNews ul.tweets").append("<li>" + replaceURLWithHTMLLinks(val.text) + "</li>");
});
},
error: function(XHR, textStatus, errorThrown){
alert("ERREUR: " + textStatus);
alert("ERREUR: " + errorThrown);
}
});
function replaceURLWithHTMLLinks(text) {
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
return text.replace(exp,"<a href='$1'>$1</a>");
}
});
</script>
</head>
<body>
<div id="sNews">
<ul class="tweets">
</ul>
</div>
</body>