Задать вопрос
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;

Но это в упор не хочет работать... С латинскими символами регистр не важен, а вот в русских словах не находит вхождение... ЧЯДНТ?
  • Вопрос задан
  • 126 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
sadieff
@sadieff Автор вопроса
Нажимаю клавиши в нужной последовательности
Парни, все дело было в версии php. Стояла 5.3, сменил на 5.6 и стало работать. Либо надо было прописывать кодировку данных.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@LiguidCool
Это вроде нормальное поведение для юникода.
Попробуйте strpos сначала уменьшив.
Ещё есть mb_strpos.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы