-Поиск по дневнику

Поиск сообщений в Linux_Loader

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 20.04.2008
Записей: 743
Комментариев: 2542
Написано: 7716


Без заголовка

Суббота, 05 Декабря 2009 г. 23:18 + в цитатник
В книжке "PHP для чайников" на странице 83 есть функции для обработки текстовых строк. Я ещё не все попробовал, но вот что выудил.

strlen ("строка") - Возвращает длину строки

Агы, так точно. Возвращает не длинну строки, а размер её в байтах. То есть, например, строка "Йа строчко" по её мнению имеет в своём составе 19 символов, если она в юникоде))).

ucfirst ("строка") - Преобразует первый символ строки в верхний регистр
ucwords ("строка") - Преобразует первый символ каждого слова строки в верхний регистр

Агы, преобразует, если первые символы, над которыми производится операция, не кириллицей))).

strrev ("строка") - Возвращает строку в обратном порядке

Да-да, точно, возвращает. Но если в юникоде сделать такое:

echo strrev ("Прювет лунатикам");

То на выходе будет такое

�акиЂѰнЃѻ� �ѵвЎрџ�



Ну, оно типа переворачивает байты в обратный порядок и двухбайтовые символы сходят с ума. Интересно то, что не все...
Рубрики:  Бу-га-га!

_DOOMer_   обратиться по имени Воскресенье, 06 Декабря 2009 г. 08:20 (ссылка)
В PHP до сих пор нет нормальной поддержки ююникода, отсюда и все эти грабли. В версии 6.0 вроде все должнго быть поправлено, но когда эта версия будет отрелизена (и самое главное -- когда получит массовое распространение на шаред-хостингах)...... одному богу известно.

А длину юникодной строки можно правильно узнать через mb_strlen, работающую идентично strlen. Главное чтобы PHP был собран с расширением mb_string
Ответить С цитатой В цитатник
V_exeR   обратиться по имени Воскресенье, 06 Декабря 2009 г. 10:01 (ссылка)
По-моему, это очень старая книжка. Ибо utf-8 там точно не учитывается.
Ответить С цитатой В цитатник
Linux_Loader   обратиться по имени Воскресенье, 06 Декабря 2009 г. 13:14 (ссылка)
Ну, книжка не очень прямо старая, но далеко не новая. Вобщем-то, меня в ней в первую очередь устраивает то, что там всё объясняется на пальцах в основном. Вот когда её прочту, возьмусь за более новые и серьёзные)))).
Ответить С цитатой В цитатник
Linux_Loader   обратиться по имени Воскресенье, 06 Декабря 2009 г. 23:03 (ссылка)
_DOOMer_, да, точно, заряботало))). Проверил, phpinfo сказал, что Multibyte Support enabled. Только заработало оно только после того, как я в файле прописал

mb_internal_encoding('UTF-8');

Я эту строчку случайно обнаружил в инете и наобум набрал её, вдруг поможет. Помогло :). Спасибо :).
Ответить С цитатой В цитатник
Комментировать К дневнику Страницы: [1] [Новые]
 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку