Автор Тема: Как закодировать текст в %хх  (Прочитано 3905 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн isv

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://isv.kiev.ua/isv
Как закодировать текст в %хх
« : 22 Декабря 2004, 04:41:16 »
Проблема такая -- через урл передается русский текст и в нем есть скобки "(" и ")". Скрипт куда это идет, генерит ошибку, если скобки убрать, то все пучком, но они нужны. Хочу закодировать весь параметр, когда все буковки представлены в виде %хх. Теоретически хватит и функции rawurlencode которая согласно описанию:

http://mf.mgpu.ru/Materials/Netbases/PHP_DOC/function.rawurlencode.html

Долна кодировать все не алфавитноцифровые символы за исключением -_. и соответсвенно должна кодировать символы (), в действительности она ложит на всех и вся в том числе и на должность... :( Может подскажете функцию, которая кодирует все символы не умничая? Скурил много текста, но мне такой не удалось найти, мабуть не там искал... :(

ЗЫ: Сразу скажу, что я в ПХП разбираюсь очень слабо -- я больше любитель perl®exp...

ЗЗЫ: а ведь в перле можно было банально написать s/(.)/sprintf(\'%%%02x\', ord($1))/ge

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
Как закодировать текст в %хх
« Ответ #1 : 22 Декабря 2004, 10:18:25 »
Ты что-то напутал...
http://www.php.net/urlencode тебе вполне подходит (кстати, это "правильное" место, где надо смотреть описание).
Проверь - echo urlencode(\'русский (текст)\');
Видимо, ошибки по другой причине.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Как закодировать текст в %хх
« Ответ #2 : 22 Декабря 2004, 10:59:27 »
да уж очевидно, что по другой причине - СКРИПТ ошибку-то выдавать всяко не будет.

isv, а  любители perl®exp... ТЕКСТ ошибки не читают?

Оффлайн isv

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://isv.kiev.ua/isv
Как закодировать текст в %хх
« Ответ #3 : 22 Декабря 2004, 12:43:58 »
Спасибо. urlencode сделало то что я хотел, хотя это и не помогло :( Как выдавало:

The html tags you attempted to use are not allowed

так и выдает (передается параметр в модуль Feedback php-nuke). Может подскажете, в чем криминал скобок?

$url_code = "modules.php?name=Feedback&message=".urlencode("русский (текст)");

При этом если потереть одну из скобок, то работает...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28