Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Скрипт не распознает строку на русском
Покинул форум
Сообщений всего: 232
Дата рег-ции: Апр. 2011
Помог: 0 раз(а)
Всем привет, есть скрипт, который во введенной строке находит слова, читающиеся одинаково справа налево и слева направо (палиндромы). Скрипт выводит палиндром максимальной длины. Все работает, но с кодировкой проблема: не воспринимает строки, введенные на русском языке. Вот код:
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
$r пробовали выводить?
Ammiak
Отправлено: 07 Сентября, 2011 - 15:54:56
Частый гость
Покинул форум
Сообщений всего: 232
Дата рег-ции: Апр. 2011
Помог: 0 раз(а)
$r выводит строку наоборот. Как и нужно (Добавление)
если строка на русском-на выходе пустота (Добавление)
Делал скрипт, который просто переворачивает введенное слово: работало со всеми языками:
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Ammiak пишет:
Но здесь задача сложнее и я запутался...
Почему сложнее?
Сравниваете перевёрнутую строку с исходной - если они совпадают, значит то, то нам нужно.
----- PostgreSQL DBA
LIME
Отправлено: 07 Сентября, 2011 - 16:14:31
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Ammiak пишет:
если строка на русском-на выходе пустота
естественно интересовала $r при русской строке
видимо strrev не работает с утф
либо пишите свою фцию реверса
либо iconv (Добавление)
я незнаю что быстрее получится
EuGen
Отправлено: 07 Сентября, 2011 - 16:29:38
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
LIME
Отправлено: 07 Сентября, 2011 - 16:35:19
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
там наверное = должно быть?
EuGen
Отправлено: 07 Сентября, 2011 - 16:37:29
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Нет. Приведенный код покажет bool(true) если строка палинром и bool(false) в ином случае - он демонстрирует, как можно проверить строку в случае, если она в utf
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.