首個解決方案只需使用PHP
我不知道你是怎麼搶的鳴叫,但我之前用這個PHP代碼,並將其打印出的鏈接就裹在<a>
標籤都有效。所以,這裏不需要使用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>
標籤都被包裝在一個容器中一個ID。
- 它使用ID-選擇結合所述標籤選擇器:
:`$( '#含量P')通過所有的元素以選擇所有的鳴叫
- 之後它循環
- 它會使用
$(value).text()
- 每個條目的文本從這個answer
替換使用
replaceURLWithHTMLLinks
錨
- 更新
<p>
的HTML - 標籤使用$(value).html()
IMO,你可以嘗試一個簡單的JavaScript的解決方案,而不是jQuery的。看一個很好的例子[這裏](http:// stackoverflow。com/questions/37684/how-to-replace-plain-urls-with-links) – Gunnar 2012-08-15 11:46:20
謝謝,但我試圖解決的這個等式的部分是過濾器/選擇難題。我如何從一段文本中檢測和目標?如果我不能這樣做,那麼我沒有什麼可以傳遞給你共享的函數(除非我錯過了某些東西......) – monners 2012-08-15 12:24:15
這個JS函數使用表達式。這意味着它會搜索設置要過濾的表達式。在這種情況下,您輸入一串文本,表達式在文本中搜索URL(以'https','ftp'和'file'開頭),並添加要添加的標籤。因此,它可以像你想要的那樣「檢測和定位文本塊」。 – Gunnar 2012-08-15 15:25:37