![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| JSawyer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 15.10.2010 Репутация: нет Всего: нет |
Ищу оптимальный алгоритм, нужен совет.
Задача: есть mysql база данных слов-синонимов вида:
Берём текст, меняем слова/фразы в тексте на синонимы из базы (естественно если для слова или фразы есть синоним) Пока что алгоритм такой: 1. делаю select * from base where 1 2. на php разделяю по | 3. в цикле делаю замену слов/фраз из базы в моём тексте Простой и тормозной способ, знаю Предполагаю, что оптимально было бы выполнять поиск и парсинг непосредственно sql запросом и заменять текст уже готовым вариантом. Как это реализовать? Или как можно сделать ещё лучше/быстрее? Это сообщение отредактировал(а) JSawyer - 27.12.2010, 11:43 |
|||
|
||||
| overmet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 15.8.2009 Где: Gomel Репутация: -2 Всего: -2 |
Подбор синонимов на PHP в файлах, немного не в тему
Это сообщение отредактировал(а) overmet - 27.12.2010, 15:20 |
|||
|
||||
| JSawyer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 15.10.2010 Репутация: нет Всего: нет |
overmet
спасибо за пример, но это имхо не совсем то неужели никто не посоветует? |
|||
|
||||
| Majesty |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 20.3.2005 Где: Almaty, Kazakhsta n Репутация: нет Всего: нет |
можно передать preg_replace/str_replace массив слов - тогда избавимся от одного цикла. остальное всё-таки придётся производить в цикле (разбор запроса и формирование массива слов) - но в одном. если слов не сильно много, то может работать достаточно быстро. ну и да, можно потом сбросить сериализованный массив в файл, чтобы в будущем обойтись без sql-запроса и формирования массива.
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |