PHPfox 2.0.5 (build 1) самая последняя версия

Конечно не ищет.
Ибо у вас не русский перевод, а просто набор цифр в БД.
Он и ранее не искал русский перевод у вас в админке ...
Я вернул все изменения и поиск заработал. Нормально ищет все слова на русском и других языках использующих utf8 (арабский к примеру). Правда ссылки вида "1090-1077-1089-1090-1086", но зато поиск работает. Единственное плохо, что поиск использует реестр, тоесть если к примеру блог называется "Юпитер", то поиск не найдет слово "юпитер" (написанное с маленькой буквы), а будет искать именно слово "Юпитер". Как отключит реестр, чтобы поиск не был чувствителен к нему? Можете помочь?
 
Я вернул все изменения и поиск заработал. Нормально ищет все слова на русском и других языках использующих utf8 (арабский к примеру). Правда ссылки вида "1090-1077-1089-1090-1086", но зато поиск работает. Единственное плохо, что поиск использует реестр, тоесть если к примеру блог называется "Юпитер", то поиск не найдет слово "юпитер" (написанное с маленькой буквы), а будет искать именно слово "Юпитер". Как отключит реестр, чтобы поиск не был чувствителен к нему? Можете помочь?
Преобразование ссылок с русского языка и поиск - это разные вещи и функции PHP для них разные.

После необходимых перечисленных изменений, не будет проблем с регистром при поиске.
 
Ясно, давайте приступим к исправлению:
1. В - \include\library\phpfox\parse\input.class.php
найти функцию, отвечающую за формирование ссылок:
PHP:
public function cleanTitle($sUrls)
в ней вносим такие изменения:
PHP:
public function cleanTitle($sUrls)
    {
        $sUrls = trim(strip_tags($sUrls));
        //$sUrls = $this->_utf8ToUnicode($sUrls, true);
        // Этот параметр вставляет тире между слов в адресе ссылки
        $sUrls = preg_replace("/ +/", "-", $sUrls);
        //$sUrls = rawurlencode($sUrls);
        // Регулируем вырезку ненужного        
        $sUrls = str_replace(array( '"', "'", ",", ".", "!", "?", "(", ")", "–", "—", ":", ";", "«", "»", "…", "+", "#", "№", "=", "/" ), '', $sUrls );
        $sUrls = str_replace(' ', '', $sUrls);
        $sUrls = str_replace(array('-----', '----', '---', '--', '_'), '-', $sUrls);
        $sUrls = rtrim($sUrls, '-');
        $sUrls = ltrim($sUrls, '-');
        if (empty($sUrls))
        {
            $sUrls = PHPFOX_TIME;
        }
        $sUrls = strtolower($sUrls);
        $sUrls = str_replace(
        array( 'А', 'а', 'Б', 'б', 'В', 'в', 'Г', 'г', 'Д', 'д', 'Е', 'е', 'Ё', 'ё', 'Ж', 'ж', 'З', 'з', 'И', 'и', 'Й', 'й', 'К', 'к', 'Л', 'л', 'М', 'м', 'Н', 'н', 'О', 'о', 'П', 'п', 'Р', 'р', 'С', 'с', 'Т', 'т', 'У', 'у', 'Ф', 'ф', 'Х', 'х', 'Ц', 'ц', 'Ч', 'ч', 'Ш', 'ш', 'Щ', 'щ', 'Ъ', 'ъ', 'Ы', 'ы', 'Ь', 'ь', 'Э', 'э', 'Ю', 'ю', 'Я', 'я', 'І', 'і', 'Ї', 'ї', 'Є', 'є', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?' ),        
        array( 'a', 'a', 'b', 'b', 'v', 'v', 'g', 'g', 'd', 'd', 'e', 'e', 'e', 'e', 'j', 'j', 'z', 'z', 'i', 'i', 'y', 'y', 'k', 'k', 'l', 'l', 'm', 'm', 'n', 'n', 'o', 'o', 'p', 'p', 'r', 'r', 's', 's', 't', 't', 'u', 'u', 'f', 'f', 'h', 'h', 'c', 'c', 'ch', 'ch', 'sh', 'sh', 'sh', 'sh', '', '', 'y', 'y', '', '', 'e', 'e', 'u', 'u', 'ya', 'ya', 'i', 'i', 'ii', 'ii', 'e', 'e', 'a', 'b', 'g', 'd', 'a', 'v', 'z', 'h', 't', 'i', 'k', 'k', 'l', 'm', 'm', 'n', 'n', 's', 'y', 'p', 'p', 'c', 'c', 'k', 'r', 's', 't' ), $sUrls);
        return $sUrls;
    }
Если иврит не нужен, убираем ненужные замены.
ВНИМАНИЕ! Весь файл - input.class.php - должен быть кодирован в UTF-8 (без BOM), иначе могут быть проблемы с русскими буквами для подстановки и замены.
Я вот этого не разобрал (не понял). Не понял как мне прописать свои нац.буквы. Сайт будет на русском, но блоги, файлы и тд. будут создавать на нескольких языках (сайт рассчитан для стран СНГ, но будут файлы и на арабском).
Объясните пожалуйста, что мне надо добавить к Вашему коду и как именно добавить свои нац.буквы?

можете ли Вы дать мне Ваш icq или если есть mail agent для быстрого общения.
 
Я вот этого не разобрал (не понял). Не понял как мне прописать свои нац.буквы. Сайт будет на русском, но блоги, файлы и тд. будут создавать на нескольких языках (сайт рассчитан для стран СНГ, но будут файлы и на арабском).
Объясните пожалуйста, что мне надо добавить к Вашему коду и как именно добавить свои нац.буквы?
ну вот же кусок кода, куда вам нужно добавить свои нац. символы:
PHP:
$sUrls = str_replace( 
        array( 'А', 'а', 'Б', 'б', 'В', 'в', 'Г', 'г', 'Д', 'д', 'Е', 'е', 'Ё', 'ё', 'Ж', 'ж', 'З', 'з', 'И', 'и', 'Й', 'й', 'К', 'к', 'Л', 'л', 'М', 'м', 'Н', 'н', 'О', 'о', 'П', 'п', 'Р', 'р', 'С', 'с', 'Т', 'т', 'У', 'у', 'Ф', 'ф', 'Х', 'х', 'Ц', 'ц', 'Ч', 'ч', 'Ш', 'ш', 'Щ', 'щ', 'Ъ', 'ъ', 'Ы', 'ы', 'Ь', 'ь', 'Э', 'э', 'Ю', 'ю', 'Я', 'я', 'І', 'і', 'Ї', 'ї', 'Є', 'є', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?' ),         
        array( 'a', 'a', 'b', 'b', 'v', 'v', 'g', 'g', 'd', 'd', 'e', 'e', 'e', 'e', 'j', 'j', 'z', 'z', 'i', 'i', 'y', 'y', 'k', 'k', 'l', 'l', 'm', 'm', 'n', 'n', 'o', 'o', 'p', 'p', 'r', 'r', 's', 's', 't', 't', 'u', 'u', 'f', 'f', 'h', 'h', 'c', 'c', 'ch', 'ch', 'sh', 'sh', 'sh', 'sh', '', '', 'y', 'y', '', '', 'e', 'e', 'u', 'u', 'ya', 'ya', 'i', 'i', 'ii', 'ii', 'e', 'e', 'a', 'b', 'g', 'd', 'a', 'v', 'z', 'h', 't', 'i', 'k', 'k', 'l', 'm', 'm', 'n', 'n', 's', 'y', 'p', 'p', 'c', 'c', 'k', 'r', 's', 't' ), $sUrls); 
        return $sUrls;
там где знаки вопроса - ? - там были буквы иврита, но форум их стер почему то ...

а вы просто добавьте в первый array( - нужные знаки.
а во второй
array( - их адекватную замену.
 
ну вот же кусок кода, куда вам нужно добавить свои нац. символы:
PHP:
$sUrls = str_replace( 
        array( 'А', 'а', 'Б', 'б', 'В', 'в', 'Г', 'г', 'Д', 'д', 'Е', 'е', 'Ё', 'ё', 'Ж', 'ж', 'З', 'з', 'И', 'и', 'Й', 'й', 'К', 'к', 'Л', 'л', 'М', 'м', 'Н', 'н', 'О', 'о', 'П', 'п', 'Р', 'р', 'С', 'с', 'Т', 'т', 'У', 'у', 'Ф', 'ф', 'Х', 'х', 'Ц', 'ц', 'Ч', 'ч', 'Ш', 'ш', 'Щ', 'щ', 'Ъ', 'ъ', 'Ы', 'ы', 'Ь', 'ь', 'Э', 'э', 'Ю', 'ю', 'Я', 'я', 'І', 'і', 'Ї', 'ї', 'Є', 'є', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?' ),         
        array( 'a', 'a', 'b', 'b', 'v', 'v', 'g', 'g', 'd', 'd', 'e', 'e', 'e', 'e', 'j', 'j', 'z', 'z', 'i', 'i', 'y', 'y', 'k', 'k', 'l', 'l', 'm', 'm', 'n', 'n', 'o', 'o', 'p', 'p', 'r', 'r', 's', 's', 't', 't', 'u', 'u', 'f', 'f', 'h', 'h', 'c', 'c', 'ch', 'ch', 'sh', 'sh', 'sh', 'sh', '', '', 'y', 'y', '', '', 'e', 'e', 'u', 'u', 'ya', 'ya', 'i', 'i', 'ii', 'ii', 'e', 'e', 'a', 'b', 'g', 'd', 'a', 'v', 'z', 'h', 't', 'i', 'k', 'k', 'l', 'm', 'm', 'n', 'n', 's', 'y', 'p', 'p', 'c', 'c', 'k', 'r', 's', 't' ), $sUrls); 
        return $sUrls;
там где знаки вопроса - ? - там были буквы иврита, но форум их стер почему то ...
а вы просто добавьте в первый array( - нужные знаки.
а во второй
array( - их адекватную замену.
Понял, спасибо. Щас буду пробовать. Потом отпишусь о результате.
 
Понял, спасибо. Щас буду пробовать. Потом отпишусь о результате.
Не забудьте:
Весь файл - input.class.php - должен быть кодирован в UTF-8 (без BOM), иначе могут быть проблемы с русскими буквами для подстановки и замены.
 
Не забудьте:
Весь файл - input.class.php - должен быть кодирован в UTF-8 (без BOM), иначе могут быть проблемы с русскими буквами для подстановки и замены.
Все супер. Блоги создаются как на русском, так и на нац.языке. И поиск все отлично ищет. В общем благодаря Вам я счастлив по уши :ay:

Есть еще вопрос: На главной выводиться блок "О чем Вы думаете?" Я написал: "Думаю как бы поскорее закончить работу над сайтом", а вывелось: "Думаю как бы поскорее закончить работу на&#10". Это как исправить?
 
Все супер. Блоги создаются как на русском, так и на нац.языке. И поиск все отлично ищет. В общем благодаря Вам я счастлив по уши :ay:

Есть еще вопрос: На главной выводиться блок "О чем Вы думаете?" Я написал: "Думаю как бы поскорее закончить работу над сайтом", а вывелось: "Думаю как бы поскорее закончить работу на&#10". Это как исправить?
Есть 3 пункта работы русского языка на сайте, т.е.:

1. Как выглядит русский визуально на сайте.
2. Как выглядит русский в коде сайта
3. Как выглядит русский в самой БД

Если все эти пункты верны (т.е. ВСЁ именно на русском), то такой проблемы вашей быть не должно.
 
Есть 3 пункта работы русского языка на сайте, т.е.:
1. Как выглядит русский визуально на сайте.
2. Как выглядит русский в коде сайта
3. Как выглядит русский в самой БД
Если все эти пункты верны (т.е. ВСЁ именно на русском), то такой проблемы вашей быть не должно.
1. на сайте визуально все ок (ну кроме описанного выше).
2. в коде "& # 1063;& # 1072;"
3. в БД вроде бы после Ваших изменений все правильно выводиться.

Я так понимаю, что мне нужно все файлы переконвертировать в ютф. Или может есть более легкий путь?
 
1. на сайте визуально все ок (ну кроме описанного выше).
2. в коде "& # 1063;& # 1072;"
3. в БД вроде бы после Ваших изменений все правильно выводиться.

Я так понимаю, что мне нужно все файлы переконвертировать в ютф. Или может есть более легкий путь?

2. в коде "& # 1063;& # 1072;"
это и есть реальное положение дела ...
значит у вас всё ещё происходит конвертация русского языка.
 
Назад
Сверху