【发布时间】:2011-12-19 23:45:20
【问题描述】:
我正在使用 Facebook API 在网页上显示来自特定 Facebook 帐户的帖子。当 Facebook 用户发布包含带有长 URL 文本的链接的消息时(即 http://thisisreallylongandeventuallybreaksmyfrigginlayout),它破坏了我的布局。
这是我目前用来从 Facebook API 获取帖子并将任何 URL 转换为 HTML 链接的 PHP 函数:
public function linkify($ret) {
$ret = preg_replace("#(^|[\n ])([\w]+?://[\w]+[^ \"\n\r\t< ]*)#", "\\1<a href=\"\\2\">\\2</a>", $ret);
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r< ]*)#", "\\1<a href=\"http://\\2\">\\2</a>", $ret);
$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_\.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret);
return $ret;
}
谁能帮我更改函数,以便它也截断任何长链接文本?我说的不是截断整条消息,只是截断链接的任何长文本。
谢谢!
【问题讨论】:
标签: php html facebook facebook-graph-api