Расшифровка последовательностей

Форум для авторов расширений для phpBB. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
deadromeo
phpBB 2.0.0
Сообщения: 237
Стаж: 14 лет 1 месяц
Благодарил (а): 12 раз
Поблагодарили: 35 раз
Забанен: Бессрочно

Расшифровка последовательностей

Сообщение deadromeo »

Всем привет, возникла проблема в расшифровке (подаче в нормальном читабельном виде) последовательностей вида \uXXXX :( Теперь по порядку ...

В своем расширении для Вконтакте я получаю массив данных таким образом

Код: Выделить всё

$vk_top_c = json_decode(file_get_contents('http://тут ссылка',false,$ctx),true);
В этих данных я беру для своих нужд имя темы

Код: Выделить всё

$top_title_c = $vk_top_c['response']['pages'][$a]['title'];
Но это не главное, почему то в тексте вместо знаков пунктуации возникают последовательности вида \uXXXX, например восклицательный знак - \u0021, пока текст не прошел через json_decode() у последовательностей есть второй слеш спереди, вот так \\uXXXX. и на выходе в $top_title_c, к примеру, я имею текст Мы открылись \u0021\u0021\u0021. Вопрос в том как убрать\декодировать это?

Само собой в гугле я провел немало времени, перепробовал множество способов и ничего не выходит, даже банальный preg_replace с четким указанием \u0021 стирает полностью строку текста. Может кто владеет большей информацией по этому поводу? Поделитесь соображениями
Мои расширения: TopicLinks, TopicDesc, BannedUser, AllowedExt, NumPosts, PMRead, GoogleTranslator, BoardStartDate, CountDownBB, VKWigets, TimeHeader.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12786
Стаж: 13 лет 10 месяцев
Благодарил (а): 160 раз
Поблагодарили: 2306 раз

Re: Расшифровка последовательностей

Сообщение Татьяна5 »

deadromeo
phpBB 2.0.0
Сообщения: 237
Стаж: 14 лет 1 месяц
Благодарил (а): 12 раз
Поблагодарили: 35 раз
Забанен: Бессрочно

Re: Расшифровка последовательностей

Сообщение deadromeo »

Спасибо, но выбивает Call to undefined function. Дело видимо в версии php, использую минимальную для 3.1 - 5.3.3 или я туплю где то?
Мои расширения: TopicLinks, TopicDesc, BannedUser, AllowedExt, NumPosts, PMRead, GoogleTranslator, BoardStartDate, CountDownBB, VKWigets, TimeHeader.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12786
Стаж: 13 лет 10 месяцев
Благодарил (а): 160 раз
Поблагодарили: 2306 раз

Re: Расшифровка последовательностей

Сообщение Татьяна5 »

Да, там 6-я нужна

Отправлено спустя 5 минут 46 секунд:
Другой вариант

Код: Выделить всё

$string = preg_replace('/\\\u0([0-9a-fA-F]{3})/', '&#x\1;', $string);
$string = html_entity_decode($string, ENT_NOQUOTES, 'UTF-8');
(текст содержится в переменной $string)
deadromeo
phpBB 2.0.0
Сообщения: 237
Стаж: 14 лет 1 месяц
Благодарил (а): 12 раз
Поблагодарили: 35 раз
Забанен: Бессрочно

Re: Расшифровка последовательностей

Сообщение deadromeo »

Большущее вам человеческое спасибо, помогло :)
Мои расширения: TopicLinks, TopicDesc, BannedUser, AllowedExt, NumPosts, PMRead, GoogleTranslator, BoardStartDate, CountDownBB, VKWigets, TimeHeader.

Вернуться в «Для разработчиков»