Уточнение результатов поиска из базы данных php

Когда мои пользователи ищут контент на моем веб-сайте, я эхо $title, $content где $keyword

Функция поиска реализована правильно, но поскольку каждое поле содержимого в моей базе данных содержит довольно много абзацев текста, это затрудняет чтение пользователями, когда результаты отображаются на странице.

Я хотел бы, чтобы пользователь выполнил поиск введенного ключевого слова, а затем в отображаемых результатах нарежьте текст некоторым количеством букв до и после ключевого слова и выделите его?

Я прочитал, что strpos и strstr должны это делать. Так что мой вопрос …

Со следующим кодом:

 <?php foreach ($searchcontent ->result() as $row) { echo $title echo $content } ?> 

Как я могу выделить ключевое слово и отобразить несколько символов с каждой стороны первого найденного ключевого слова?

Вы можете сделать что-то вроде этого:

В скрипте PHP

 $keyword = THESEARCHEDKEYWORD; $pattern = "/([^az])$keyword([^az])/i"; $highlight = '<span class="highlight">' . $keyword . '</span>'; foreach ($searchcontent->result() as $row) { $title = preg_replace($pattern, "$1$highlight$2", $title); $content = preg_replace($pattern, "$1$highlight$2", $content); echo $title; echo $content; } 

А затем добавьте это правило в CSS :

 .highlight { font-weight: bold; background-color: yellow; }