将Specfic chat关键字转换为链接?

时间:2015-05-16 05:05:19

标签: php

好的我正在编写一个将消息存储到数据库中的基本聊天应用程序。

public function get_Messages() {

    $rows = DB::getInstance()->query("SELECT * FROM ( SELECT user,message,TS FROM chat ORDER BY TS DESC LIMIT 50 ) sub ORDER BY TS ASC");

    foreach ($rows->results() as $row) {

        $text = $row->message;
        $keywords = array('AAPL', 'BBL');

        $regex = '/('.implode('|', $keywords).')/i';

        $output = preg_replace($regex, '<a href="apage">\\1</a>', $text);

        echo $row->TS . '<br/><strong>' .$row->user . '</strong> says: <br/>';
        echo $output . '<br/><br/>';
    }

}

只有当AAPL是消息中唯一的单词时,上面的代码才将AAPL更改为链接。如果我有这样的信息怎么样:

您好请查看此链接AAPL

我仍然希望能够输出包含链接的整个邮件吗?

1 个答案:

答案 0 :(得分:1)

试试这样:

<?Php
$str="Visit the homepage and menu  of my site ";
echo preg_replace("/(homepage|menu)/i","<a href='http://example.com/$1'>$1</a>",$str);


?>

$ 1是一个后缀,包含在捕获组中匹配的匹配单词

例如:hompage或menu或其他。