仅使用 PHP 的第一个解决方案
我不知道你是如何抓取推文的,但我之前使用过这个 PHP 代码,它会立即打印出包含在<a>
-tags 中的链接。所以,这里不需要使用 JavaScript:
// get tweets
function UtilityGetLatestTweets() {
$user = 'username';
$limit = 10;
$value = '';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://search.twitter.com/search.atom?q=from:' . $user . '&rpp=' . $limit);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HEADER, 0);
$result = curl_exec($curl);
curl_close($curl);
$xml = simplexml_load_string($result);
foreach ($xml->entry as $tweet) {
$value .= $tweet->content;
}
return $value;
}
$tweets = UtilityGetLatestTweets();
也许这对你有帮助。
编辑:使用 JavaScript 的第二种解决方案
如果你想要一个 JavaScript 解决方案,你可以这样做:
JavaScript
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>");
}
// when document is loaded
$(document).ready(function () {
// select all p-tags within a container
$('#content p').each( function (key, value) {
// replace the content
$(value).html( replaceURLWithHTMLLinks($(value).text()) );
});
});
HTML
<div id="content">
<p>Some text and link http://somethingsomething.com</p>
<p>Some text and link http://somethingdifferent.com</p>
</div>
这假设所有<p>
-tags 都包装在具有 ID 的容器中。
- 它结合使用ID 选择器和标签选择器:`$('#content p') 来选择所有推文
- 之后它遍历所有元素:
- 它使用从每个条目中获取文本
$(value).text()
replaceURLWithHTMLLinks
使用from this answer替换锚点
<p>
使用更新-tag的 HTML$(value).html()