我有这段代码:
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的Feed
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>
非常感谢
答案 0 :(得分:1)
只需将您的第一个preg_replace更改为:
$status_text = preg_replace('~(https?://(\S+))~','<a href="$1">$2</a>',$status_text);