sadieff
@sadieff
Нажимаю клавиши в нужной последовательности

Stripos в фильтре расширения MIGX — как заставить корректно работать с кириллицей?

Доброго времени суток! Ковыряю расширение MIGX - его фильтр. Мне нужно выводить записи, где встречается ключевое слово - не учитывая регистр. Фрагмент кода в расширении ответственный за это:
case 'contains':
      $output = strpos($subject, $operand) !== false ? $then : (isset($else) ? $else : '');
break;

Я привел все даже к нижнему регистру, юзаю stripos вместо strpos:
case 'contains':
	$subject = strtolower($subject);
	$operand = strtolower($operand);
        $output = stripos($subject, $operand) !== false ? $then : (isset($else) ? $else : '');
break;

Но это в упор не хочет работать... С латинскими символами регистр не важен, а вот в русских словах не находит вхождение... ЧЯДНТ?
  • Вопрос задан
  • 124 просмотра
Решения вопроса 1
sadieff
@sadieff Автор вопроса
Нажимаю клавиши в нужной последовательности
Парни, все дело было в версии php. Стояла 5.3, сменил на 5.6 и стало работать. Либо надо было прописывать кодировку данных.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@LiguidCool
Это вроде нормальное поведение для юникода.
Попробуйте strpos сначала уменьшив.
Ещё есть mb_strpos.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 40 000 до 50 000 ₽
Depcon Екатеринбург
от 100 000 до 170 000 ₽
от 210 000 до 250 000 ₽