Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

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

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
deadromeo
phpBB 2.0.0
Сообщения: 237
Стаж: 12 лет 11 месяцев
Благодарил (а): 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
Поддержка
Поддержка
Сообщения: 12425
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2477 раз

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

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

deadromeo
phpBB 2.0.0
Сообщения: 237
Стаж: 12 лет 11 месяцев
Благодарил (а): 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
Поддержка
Поддержка
Сообщения: 12425
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2477 раз

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
Стаж: 12 лет 11 месяцев
Благодарил (а): 12 раз
Поблагодарили: 35 раз
Забанен: Бессрочно

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

Сообщение deadromeo »

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

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