@KuzmenkoArtem

Сравнение кириллических строк функцией strcasecmp в php?

$text = 'аааааа'; // кириллица
$text = trim($text);
echo strcasecmp($text, strrev($text));

говорит что строки разные, хотя с виду так не скажешь
в тоже время если кириллицу заменить на латиницу, все нормально

Как корректно сравнить кириллические строки?
  • Вопрос задан
  • 9923 просмотра
Решения вопроса 1
DevMan
@DevMan
потому что у вас кириллица в мультибайтовой кодировке, и эти функции не годятся.
как-то так ideone.com/bsalwk
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@ismt
Можно использовать старый добрый способ
if (mb_strtoupper($str) === mb_strtoupper('test'))
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что эти функции работают только с однобайтными кодировками и для utf-8 не годятся. Используйте функции mb_
Ответ написан
@GarrySeldon
if (preg_match('/'.$str1.'/iu', $str2)) {
echo 'Равны!';
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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