Форум → Программирование → PHP для идиотов → Как раскодировать escape js (%u0441%u0442)?
Как раскодировать escape js (%u0441%u0442)?
-
Наверное, глупый вопрос. Но в документации готовой функции не нашёл. В сети чего только нет: от простого перебора ('%u0430' => 'а', '%u0410' => 'А',) до решений с использованием каких-то pack() и даже preg_replace_callback()…
Использую пока простой перебор массива с кодами (как в транслите, strtr()). Кто-нибудь использует другие способы? -
Апрель 1, 2012, 3:21 п.п., спустя 13 минут 33 секунды
stopkran, json_decode, не?)Спустя 39 сек.ну а вообще это просто указание того что строка в ютф и код символьный прописан. сплит по маске и перебор с переводом в chr хули делов тоСапожник без сапог -
Апрель 1, 2012, 11:04 п.п., спустя 7 часов 42 минуты 26 секунд
urldecode
rawurldecodeСпустя 71 сек.есть еще такая паста
function utf8_urldecode($str) {
$str = preg_replace("/%u([0-9a-f]{3,4})/i","&#x\\1;",urldecode($str));
return html_entity_decode($str,null,'UTF-8');;
} -
Апрель 3, 2012, 6:29 п.п., спустя 1 день 19 часов 25 минут
есть еще такая паста
Во! Самое то, спасибо! Только регэксп я уточнил: "/%u?([0-9a-f]+)/i", потому что могут прийти символы начала таблицы (типа %23) - они кодируются в js с двумя знаками и без 'u'. -
Апрель 3, 2012, 6:35 п.п., спустя 5 минут 24 секунды
stopkran, json_decode, не?)
нет, хочу раскодировать просто строку.
ну а вообще это просто указание того что строка в ютф и код символьный прописан. сплит по маске и перебор с переводом в chr хули делов то
ну, а какой функцией перевести символьный код ютф в chr?
Пожалуйста, авторизуйтесь, чтобы написать комментарий!