Как получить текст рядом с ключевыми словами? - PullRequest
2 голосов
/ 21 ноября 2010

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

Например, если пользователь выполнил поиск "своих миров" в столбце с содержимым:

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

результат будет примерно таким:

"... поскольку они пытаются изменить свои мирыявляются ли они ... "

Можно ли достичь чего-то подобного с помощью SQL напрямую или я должен извлечь весь контент и использовать PHP и, возможно, регулярное выражение?

Спасибо.

1 Ответ

2 голосов
/ 21 ноября 2010
SUBSTRING(column_name,(locate('word',column_name)-20),40) as your_sub_string

Прямо из головы, что-то вроде этого должно работать (не могу проверить), так как locate вернет позицию, в которой word впервые найден в column_name, а подстрока вернет подстроку * 1004. * начиная с позиции первого вхождения word в column_name минус 20 символов и 40 символов в длину.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...