Я написал простую поисковую систему и хочу показать какой-нибудь текст в результате, на самом деле я хочу показать 200 символов до SEARCH QUERY и 200 символов после SEARCH QUERY.
Пример:
ПОИСК-ЗАПРОС: ТЕСТ
РЕЗУЛЬТАТ:
Бла бла бла бла бла бла бла бла бла бла бла бла
BLAHBLAH BLAH BLAHBLAH BLAH BLAH BLAH BLAH BLAH ТЕСТОВОЕ ЗАДАНИЕ БЛА БЛА
Бла Бла Бла Бла Бла Бла Бла Бла Бла Бла Бла Бла Бла.
Я хочу этот вывод:
… Бла бла бла бла ТЕСТОВОЕ ЗАДАНИЕ Бла Бла Бла Бла …
с 3 точками до и после.
$text= $row["text"];
$find = $term;
$result = strpos($text, $find);
Но я не знаю, как настроить отображение 200 символов до $ term и 200 char после $ term в $ text.
ты можешь использовать substr()
substr()
Функция возвращает часть строки.
substr(string,start,length)
Читать Больше
начать с позиции текста. минус 200 (длина) получит символы до и плюс 200 (длина) получит символы после него (здесь добавляется длина текста, потому что мы начинаем с первой буквы $text
)
$text= $row["text"];
$find = $term;
$result = strpos($text, $find);
echo substr($text,($result-200>0)?($result-200):0,200)." ".$find." ".substr($text,$result+strlen($find),200);
Других решений пока нет …