Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 116, средняя оценка - 4.84
crautcher
2018 / 1990 / 463
Регистрация: 27.05.2011
Сообщений: 6,835
#1

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

06.09.2012, 12:55. Просмотров 20398. Ответов 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"=>"Я")
);
}
но вот если придет не русское слово с не английским символом , понятное дело не заменится . И писать в массив все символы всех стран тоже не дело . Есть ли способ как-то переделать в нормальный вид такого вида строку?

http://www.cyberforum.ru/php-beginners/thread1372707.html

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2012, 12:55
Я подобрал для вас темы с готовыми решениями и ответами на вопрос преобразование кода в читабельный вид (PHP):

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

Преобразование html кода в pdf
Добрый день! Появилась необходимость конвертации html страницы в pdf формат....

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

Как сделать переключение между файлами вид плиткой и вид списком
Подскажите как сделать переключение между файлами вид плиткой и вид списком. У...

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

6
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 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
2018 / 1990 / 463
Регистрация: 27.05.2011
Сообщений: 6,835
06.09.2012, 14:59  [ТС] #3
Цитата Сообщение от KOPOJI Посмотреть сообщение
p.s. только тогда лучше использовать mb_strtoupper() на всякий.
этоже 16ичный код он может быть 0-9 A-F , цифры и символы английского алфавита во всех кодировках имеют одинаковый код , так что смысла нет

я просто думал может есть чтото стандартное , что преабразует 16 код символа в символ в php
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 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
236 / 233 / 42
Регистрация: 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
2018 / 1990 / 463
Регистрация: 27.05.2011
Сообщений: 6,835
06.09.2012, 15:45  [ТС] #6
да спс , нашел еще способ наверное даже попроще вышенаписанного
PHP
1
print_r(json_decode('{"t":"\u043C\u0430\u0442\u044C"}'));
3
r36
236 / 233 / 42
Регистрация: 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 около месяца, не пинайте сильно. Встала задача -...

NixTime перевести в читабельный вид
Как перевести на JS nix время 1402833977 в такой вид день-месяц-год На PHP...

Конвертация таблицы в MS EXCEL в читабельный вид
Добрый день всем. Помогите создать макрос на конвертацию таблицы в MS EXCEL в...

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


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

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

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