为什么这个功能没有自动链接?

时间:2010-08-29 16:14:59

标签: php regex function

 function twitterify($ret) {
  $ret = preg_replace("#(^|[\n ])([\w]+?://[\w]+[^ \"\n\r\t< ]*)#", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret);
  $ret = preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r< ]*)#", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret);
  $ret = preg_replace("/@(\w+)/", "<a href=\"http://www.twitter.com/\\1\" target=\"_blank\">@\\1</a>", $ret);
  $ret = preg_replace("/#(\w+)/", "<a href=\"http://search.twitter.com/search?q=\\1\" target=\"_blank\">#\\1</a>", $ret);
return $ret;
}

我正在尝试使用此功能在我的博客上自动链接我的链接

<?php  autolink(@solomonaleh); ?>

但我得到一个黑屏。谢谢。

3 个答案:

答案 0 :(得分:2)

你需要引用你的论点:

<?php  autolink('@solomonaleh'); ?>

否则@是语法错误。您可能还需要实际调用您定义的函数的名称 - 您的函数代码定义了一个名为'twitterify'的函数,但是您调用了一个名为'autolink'的函数 - 它是什么?

答案 1 :(得分:2)

你还需要回显它,因为它返回一个字符串。

<?php echo autolink('@solomonaleh'); ?>

答案 2 :(得分:0)

抱歉,我有解决方案,我的错误,功能确实有效,只是你必须回应这个论点才能看到它愚蠢的我!!

$tweet = "hey, @twitter what are you doing";
 echo autolink($tweet);

谢谢大家!!!