2015-05-16 2 views
-1

Хорошо, я пишу основное приложение чата, которое хранит сообщения в базе данных.Конвертировать специальное ключевое слово чата для ссылки?

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

Ищите функцию preg_match functionnality – zeflex

+0

вы можете искать 'preg_match' и' preg_replace' –

ответ

1

Try так:

<?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 является backrefrance, который содержит подходящее слово сопоставляются в группе захвата

например: Hompage или меню или другой.

+0

Как вы это сделаете, чтобы ссылка открывалась как новые окна. Прямо сейчас ссылка добавляется к текущему URL-адресу страницы. – Elevant

Смежные вопросы