2014-02-07 43 views
0

我有這樣的代碼:與Twitter的飼料替換URL文本

public function linkify($status_text) 
    { 
     $status_text = preg_replace('/(https?:\/\/\S+)/','<a href="\1">\1</a>', $status_text); 
     $status_text = preg_replace('/(^|\s)@(\w+)/','\1<a href="http://twitter.com/\2">@\2</a>',$status_text); 
     $status_text = preg_replace('/(^|\s)#(\w+)/','\1#<a href="http://search.twitter.com/search?q=%23\2">\2</a>',$status_text); 
     return $status_text; 
    } 

和顯示來自Twitter這樣的代碼,這

 foreach($feed as $feed_item) { 
      $html .= '<li>'; 
      $html .= '' . $this->linkify($feed_item->text) . ''; 
      $html .= '' . $this->relativedate((strtotime($feed_item->created_at))) . ''; 
      $html .= '</li>'; 
     } 
     echo $html; 

結果反饋是

<li>Twitter Feed Text <a href="http://t.co/TnkNfxCdRu">http://t.co/TnkNfxCdRu</a></li> 

,如果任何人可以幫助我,我如何在標籤<a></a>內添加文本。例如,要完全一樣:

<li><a href="http://t.co/TnkNfxCdRu">Twitter Feed Text</a></li> 

謝謝你這麼多

回答

1

只要改變你的第一個的preg_replace到:

$status_text = preg_replace('~(https?://(\S+))~','<a href="$1">$2</a>',$status_text); 
+0

謝謝你的快速反應,但這種「Twitter的飼料文本「不是固定的,每次都是不同的 – Robert

+0

@ user3276648:好的,但你從哪裏拿? – Toto

+0

從twitter,默認文本看起來像這樣: – Robert