PHP + SQL - выбрать данные по ключевому слову, но есть одно но...
Сергей Попов
Ученик
(152),
на голосовании
2 года назад
Делаю выборку по ключевому слову из постов сайта в БД (скрин). Далее делаю циклом вывод списка заголовков и ссылок на эти посты. Но этого мало. Мне нужно как-то вывести некоторое количество текста вокруг этого слова, чтобы редактор понял контекст применения слова в конкретной статье, его смысл именно в этом посту.
Целиком выводить статью не подходит. Идеально вывести параграф с этим словом или просто количество слов ДО и ПОСЛЕ. Например, 10 слов до и 10 слов после основного слова. Что-то вроде снипеттов в поисковиках. Сразу в голову приходит сделать что-то на регулярке. Но проблема в том, что искомое слово может быть не только в теге P, но и в заголовках H1...H6, ссылке A, даже в DIV или ещё в чём-то, либо вообще без тегов, т.к. на сайте десятки тысяч статей и загоняли их туда разными способами: вручную через визуальный редактор, через скрипты-парсеры, вручную из текстовых редакторов и т.д.
Можно, конечно, сделать что-то вроде "100 символов до и 100 символов после искомого слова", но хотелось бы какое-то более изящное решение. Может кто что подскажет?
Дополнен 2 года назад
P.S. Кстати, слово в одной статье может встречаться больше одного раза.
Целиком выводить статью не подходит. Идеально вывести параграф с этим словом или просто количество слов ДО и ПОСЛЕ. Например, 10 слов до и 10 слов после основного слова. Что-то вроде снипеттов в поисковиках. Сразу в голову приходит сделать что-то на регулярке. Но проблема в том, что искомое слово может быть не только в теге P, но и в заголовках H1...H6, ссылке A, даже в DIV или ещё в чём-то, либо вообще без тегов, т.к. на сайте десятки тысяч статей и загоняли их туда разными способами: вручную через визуальный редактор, через скрипты-парсеры, вручную из текстовых редакторов и т.д.
Можно, конечно, сделать что-то вроде "100 символов до и 100 символов после искомого слова", но хотелось бы какое-то более изящное решение. Может кто что подскажет?