В ExBB 1.1.3 наблюдаю проблему с поиском:
Если поисковый запрос состоит из слова, включающего, например, букву "Р" русскую, а сервер в utf-8, то GET-запрос поиска не обрабатывает ее, а, возможно, и некоторые другие буквы. Это видно, когда введешь слово в строку поиска, содержащее эту букву, скрипт выдаст результаты в виде тем, но при переходе по ссылке в тему пишет, что ничего не найдено, потому что, если, скажем, введено в поиск слово "
материал", то в search query будет выдано, как printpage.php?action=1&forum=7&topic=15&post=%EC%E0%F2%E5%E8%E0%EB&stype=OR&color=yes, где %EC%E0%F2%E5%E8%E0%EB - это "
матеиал".
Скорее всего, что GET-запрос не обрабатывает некоторые русские буквы:
Цитата:й??кенг??з??ф?вап?олдж?я?сми??б?
йцукенгшщзхъфывапролджэячсмитьбю
и, возможно нужно включать в preg_replace модификатор
u:
http://softtime.ru/forum/read.ph...p;id_theme=88259?
т.е.
CODE:$search = preg_replace ("'[^№a-zа-яА-ЯA-ZЁё0-9 ]'iu", "", $_GET['search']);
В search/search.php и search.php корневой есть несколько preg_replace
Вот, например:
CODE:$entered_word = preg_replace('/([^a-zA-Zа-яА-ЯёЁ]|^)([a-zA-Zа-яА-ЯёЁ]{1,3})(?![a-zA-Zа-яА-ЯёЁ])/', '', $_SEARCH['entered_word']);
или вот еще:
CODE:$searchinmessage = sprintf($fm->LANG['YOUSEARCH'], preg_replace('/([^a-zA-Zа-яА-ЯёЁ]|^)([a-zA-Zа-яА-ЯёЁ]{1,3})(?![a-zA-Zа-яА-ЯёЁ])/', '$1<font color="red">$2</font>', $_SEARCH['entered_word']));
и еще несколько.
Т.е., возможно, надо переделать как-то так:
CODE:$searchinmessage = sprintf($fm->LANG['YOUSEARCH'], preg_replace('/([^a-zA-Zа-яА-ЯёЁ]|^)([a-zA-Zа-яА-ЯёЁ]{1,3})(?![a-zA-Zа-яА-ЯёЁ])/u', '$1<font color="red">$2</font>', $_SEARCH['entered_word']));