SiMM
preg_replace('/%(?:25)?([0-9a-f]{2})/sei','chr(hexdec("$1"))',$str); - это перекодировщик из урленкодед утф-16?
А что такое утф-16?
А как ты определил, что это именно 16,а не 8, скажем, или кои-8?
Я, похоже, сильно отстал от жизни
1. да тему надо было назвать разбор и ПЕРЕКОДИРОВКА адресной строки
2.символы 25 в %25xx мона просто игнорировать..и тогда задача сводится к простой перекодировке последовательности шестнадцатиричных символов ))
Спасибо всем...и тони))) и в особенности симм)) за сразурезультат))
тони...прости меня бестолкового...я просто был зациклен на том что четырехзначная кодировка должна как то хитро преобразовываться а не путем выбрасывания лишних символов)))
*зато получил опты работы с регулярными выражениями))
imdem, у меня один вопрос остался - как ты получил эту строку запроса? OS, какая локализация, браузер (просто на будущее, чтобы знать). И что это за кодировка
$_SERVER['HTTP_REFERER'];
пхп под апачем на каком то юниксе
какой браузер - походу не знаю - не храню эту информацию))) - могу в принципе логи глянуть если интересно)
imdem, самый простой вариант, имхо (в данном конкретном случае) - сделать preg_replace('#%25([0-9A-F]{2})#s','%$1',$str), после чего воспользоваться методом tony2001 - работать будет при любом раскладе.