好的我正在编写一个将消息存储到数据库中的基本聊天应用程序。
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
我仍然希望能够输出包含链接的整个邮件吗?
答案 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或其他。