Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 116, средняя оценка - 4.84
crautcher
2008 / 1979 / 172
Регистрация: 27.05.2011
Сообщений: 6,820
#1

преобразование кода в читабельный вид - PHP

06.09.2012, 12:55. Просмотров 18774. Ответов 6
Метки нет (Все метки)

получаю с нного ресурса данные в таком виде :
\u043C\u0430\u0442\u044C
на данный момент преобразовываю:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function SymbolReplace ($msg) {
$msg = strtoupper ($msg);
return strtr($msg, array("\U0430"=>"а", "\U0431"=>"б", "\U0432"=>"в",
"\U0433"=>"г", "\U0434"=>"д", "\U0435"=>"е", "\U0451"=>"ё", "\U0436"=>"ж", "\U0437"=>"з", "\U0438"=>"и",
"\U0439"=>"й", "\U043A"=>"к", "\U043B"=>"л", "\U043C"=>"м", "\U043D"=>"н", "\U043E"=>"о", "\U043F"=>"п",
"\U0440"=>"р", "\U0441"=>"с", "\U0442"=>"т", "\U0443"=>"у", "\U0444"=>"ф", "\U0445"=>"х", "\U0446"=>"ц",
"\U0447"=>"ч", "\U0448"=>"ш", "\U0449"=>"щ", "\U044A"=>"ъ", "\U044B"=>"ы", "\U044C"=>"ь", "\U044D"=>"э",
"\U044E"=>"ю", "\U044F"=>"я", "\U0410"=>"А", "\U0411"=>"Б", "\U0412"=>"В", "\U0413"=>"Г", "\U0414"=>"Д",
"\U0415"=>"Е", "\U0401"=>"Ё", "\U0416"=>"Ж", "\U0417"=>"З", "\U0418"=>"И", "\U0419"=>"Й", "\U041A"=>"К",
"\U041B"=>"Л", "\U041C"=>"М", "\U041D"=>"Н", "\U041E"=>"О", "\U041F"=>"П", "\U0420"=>"Р", "\U0421"=>"С",
"\U0422"=>"Т", "\U0423"=>"У", "\U0424"=>"Ф", "\U0425"=>"Х", "\U0426"=>"Ц", "\U0427"=>"Ч", "\U0428"=>"Ш",
"\U0429"=>"Щ", "\U042A"=>"Ъ", "\U042B"=>"Ы", "\U042C"=>"Ь", "\U042D"=>"Э", "\U042E"=>"Ю", "\U042F"=>"Я")
);
}
но вот если придет не русское слово с не английским символом , понятное дело не заменится . И писать в массив все символы всех стран тоже не дело . Есть ли способ как-то переделать в нормальный вид такого вида строку?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2012, 12:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос преобразование кода в читабельный вид (PHP):

Читабельный вид текстового файла - PHP
Пишу менеджер crontab. нужно что бы выводило все данные в нормальном, читабельном виде.. Например в текстовом файле записано такое ...

Привести кусок кода (формулу) в нормальный вид - PHP
Всем привет! есть такой кусок кода: return log($this->getBattles()) / 10 * ( $this->EXPAVG * 1 +...

Преобразование html кода в pdf - PHP
Добрый день! Появилась необходимость конвертации html страницы в pdf формат. На php нашел кучу библиотек, на подобии mpdf. ...

PHP отображает предложения знаками ?, тогда как в MySQL текст читабельный - PHP
Приветствую! Импортировал данные с одной MySQL базы в другую, все удачно импортировалось, но если в браузере открываю страницу, читающую...

Не работает преобразование кода из одной системы счисления в ID в другой системе счисления - PHP
Здравствуйте! Имеется вот такой код: <?php if(isset($_GET)) { $link = ($_GET); $link = strtolower($link); $link =...

NixTime перевести в читабельный вид - JavaScript
Как перевести на JS nix время 1402833977 в такой вид день-месяц-год На PHP знаю. echo date ('d-m-Y','1402833977'); В JS не силён,...

6
KOPOJI
Эксперт HTML/CSSЭксперт PHP
16701 / 6623 / 433
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
06.09.2012, 14:03 #2
а если по символу перебирать, а не по 5? тогда больше массив конечно будет, но возможно что то можно будет придумать..
p.s. только тогда лучше использовать mb_strtoupper() на всякий.

Добавлено через 1 минуту
как то наподобие такого алгоритма:
1. узнаем число символов
2. смотрим сами символы (какой язык к примеру)
3. ищем полный символ, если находим - заменяем.
4. если не находим - перебираем по символьно и ищем совпадения..

Добавлено через 1 минуту
хотя, если честно, даже не могу представить масштаб замены и кода в таком случае.. если только забивать массив с алфавитом разных стран и искать среди полученных символов хотя бы пару символов из каждого алфавита - нашли, значит из этого языка.. а дальше теряюсь в догадках
1
crautcher
2008 / 1979 / 172
Регистрация: 27.05.2011
Сообщений: 6,820
06.09.2012, 14:59  [ТС] #3
Цитата Сообщение от KOPOJI Посмотреть сообщение
p.s. только тогда лучше использовать mb_strtoupper() на всякий.
этоже 16ичный код он может быть 0-9 A-F , цифры и символы английского алфавита во всех кодировках имеют одинаковый код , так что смысла нет

я просто думал может есть чтото стандартное , что преабразует 16 код символа в символ в php
0
KOPOJI
Эксперт HTML/CSSЭксперт PHP
16701 / 6623 / 433
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
06.09.2012, 15:09 #4
crautcher, ааа, я не понял сразу просто) вроде есть что то такое кстати, ща посмотрю

Добавлено через 1 минуту
а в какой кодировке символы получаешь?

Добавлено через 1 минуту
блин че за ..) http://yandex.ru/yandsearch?text=%D0...2+php&lr=11067 вторая ссыль в общем (гугловские ответы)

Добавлено через 1 минуту
не то?
1
r36
234 / 231 / 6
Регистрация: 16.03.2011
Сообщений: 750
06.09.2012, 15:31 #5
PHP
1
2
3
4
5
6
$str='\U0430\U0431\U0432\U0433';
$ar=explode('\U',$str);
for($i=1;$i<count($ar);++$i){
$n.='&#'.base_convert($ar[$i],16,10);
}
echo html_entity_decode($n, ENT_NOQUOTES,'UTF-8');
Работает на всех языках.
1
crautcher
2008 / 1979 / 172
Регистрация: 27.05.2011
Сообщений: 6,820
06.09.2012, 15:45  [ТС] #6
да спс , нашел еще способ наверное даже попроще вышенаписанного
PHP
1
print_r(json_decode('{"t":"\u043C\u0430\u0442\u044C"}'));
3
r36
234 / 231 / 6
Регистрация: 16.03.2011
Сообщений: 750
06.09.2012, 16:04 #7
Я написал много кода, можно было так:
PHP
1
2
$str='\u043C\u0430\u0442\u044C';
echo html_entity_decode(str_replace('\u','&#x',$str), ENT_NOQUOTES,'UTF-8');
1
06.09.2012, 16:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2012, 16:04
Привет! Вот еще темы с ответами:

Вывод из MySQL в читабельный вид - PHP БД
Занимаюсь вынужденно php около месяца, не пинайте сильно. Встала задача - сделать форму для ввода в две таблицы по связи один ко многим...

Как перевести строку в читабельный вид? - C++
Собственно из названия темы. Есть строка символов (к примеру такая: 0430002004370430043904340438) Как перевести ее в читабельный вид, т.е...

Конвертация таблицы в MS EXCEL в читабельный вид - VBA
Добрый день всем. Помогите создать макрос на конвертацию таблицы в MS EXCEL в читабельный вид. Ctrl+C/V убивает очень много времени. ...

1C 8.x Перенести базу данных в читабельный вид в SQL - 1С
Добрый день. Кто может помочь? не так давно начал работать с 1C (почти чайник). Есть такая задумка : просматривать базу данных 1С с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru