Здравствуйте.
Имею форум на PhpBB 3.0.7-PL1
Столкнулся с проблемой, а именно поиск по умолчанию выполняется по точному совпадению поисковой фразы.
Многие пользователи не догадываются о возможности использования звёздочки.
Хотелось чтоб быстрый поиск производился не по слову целиком, а по частичному совпадению в словах, по умолчанию.
Подскажите, существует/возможна ли такая реализация?
Поиск без *
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
ratz
- phpBB 1.2.0
- Сообщения: 12
- Стаж: 15 лет 11 месяцев
- Откуда: Волгоград
- Благодарил (а): 3 раза
Поиск без *
xxx> UNIX way — это когда тебе вместо туалетной бумаги дают топор, рубанок и карту близлежащего леса.
yyy> а карта бумажная? Это UNIX way!
yyy> а карта бумажная? Это UNIX way!
-
Nekstati
- Поддержка

- Сообщения: 3365
- Стаж: 17 лет 6 месяцев
- Благодарил (а): 37 раз
- Поблагодарили: 1454 раза
Re: Поиск без *
Найти в search.php
Заменить на
Код: Выделить всё
$keywords = utf8_normalize_nfc(request_var('keywords', '', true));Код: Выделить всё
$keywords = utf8_normalize_nfc(request_var('keywords', '', true)) . '*';-
MIT
- Former team member
- Сообщения: 2500
- Стаж: 17 лет 6 месяцев
- Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
- Благодарил (а): 3 раза
- Поблагодарили: 351 раз
Re: Поиск без *
Стоило бы, наверно, добавлять «*» с обеих сторон, предварительно проверяя их наличие.
-
ratz
- phpBB 1.2.0
- Сообщения: 12
- Стаж: 15 лет 11 месяцев
- Откуда: Волгоград
- Благодарил (а): 3 раза
Re: Поиск без *
Вот только теперь нажимая на расширеный поиск получаю:
Следующие слова в поисковом запросе были проигнорированы, так как являются часто употребимыми: *.
Следующие слова в поисковом запросе были проигнорированы, так как являются часто употребимыми: *.
xxx> UNIX way — это когда тебе вместо туалетной бумаги дают топор, рубанок и карту близлежащего леса.
yyy> а карта бумажная? Это UNIX way!
yyy> а карта бумажная? Это UNIX way!
-
Nekstati
- Поддержка

- Сообщения: 3365
- Стаж: 17 лет 6 месяцев
- Благодарил (а): 37 раз
- Поблагодарили: 1454 раза
Re: Поиск без *
Тогда прежнюю правку откатите и сделайте так. Найти:
Добавить после:
Или, как советует MIT, чтобы звёздочки добавлялись с обеих сторон:
Код: Выделить всё
$keywords = utf8_normalize_nfc(request_var('keywords', '', true));Код: Выделить всё
$keywords .= ($keywords && utf8_strpos($keywords, '*') === false) ? '*' : '';Код: Выделить всё
$keywords = ($keywords && utf8_strpos($keywords, '*') === false) ? '*' . $keywords . '*' : $keywords;
