Formater une chaîne de caractères pour l'utiliser dans une url
#1
Ce bout de code formate une chaîne pour pouvoir l'utiliser dans une url.

Ce code est extrait de Acronym Fetcher fait par MenzAgitat

tcl
proc ::urlencode {data} {
   return [::tcl::string::map {
      " " "%20" "\"" "%22" "#" "%23" "$" "%24" "%" "%25"
      "&" "%26" "'" "%27" "\(" "%28" "\)" "%29" "*" "%2A"
      "+" "%2B" "," "%2C" "." "%2E" "\/" "%2F" ":" "%3A"
      ";" "%3B" "<" "%3C" "=" "%3D" ">" "%3E" "?" "%3F"
      "@" "%40" "\[" "%5B" "\\" "%5C" "\]" "%5D" "^" "%5E"
      "\{" "%7B" "|" "%7C" "\}" "%7D" "~" "%7E" "¡" "%A1"
      "¢" "%A2" "£" "%A3" "¤" "%A4" "¥" "%A5" "¦" "%A6"
      "§" "%A7" "¨" "%A8" "©" "%A9" "ª" "%AA" "«" "%AB"
      "¬" "%AC" "­" "%AD" "®" "%AE" "¯" "%AF" "°" "%B0"
      "±" "%B1" "²" "%B2" "³" "%B3" "´" "%B4" "µ" "%B5"
      "¶" "%B6" "·" "%B7" "¸" "%B8" "¹" "%B9" "º" "%BA"
      "»" "%BB" "¼" "%BC" "½" "%BD" "¾" "%BE" "¿" "%BF"
      "À" "%C0" "Á" "%C1" "Â" "%C2" "Ã" "%C3" "Ä" "%C4"
      "Å" "%C5" "Æ" "%C6" "Ç" "%C7" "È" "%C8" "É" "%C9"
      "Ê" "%CA" "Ë" "%CB" "Ì" "%CC" "Í" "%CD" "Î" "%CE"
      "Ï" "%CF" "Ð" "%D0" "Ñ" "%D1" "Ò" "%D2" "Ó" "%D3"
      "Ô" "%D4" "Õ" "%D5" "Ö" "%D6" "×" "%D7" "Ø" "%D8"
      "Ù" "%D9" "Ú" "%DA" "Û" "%DB" "Ü" "%DC" "Ý" "%DD"
      "Þ" "%DE" "ß" "%DF" "à" "%E0" "á" "%E1" "â" "%E2"
      "ã" "%E3" "ä" "%E4" "å" "%E5" "æ" "%E6" "ç" "%E7"
      "è" "%E8" "é" "%E9" "ê" "%EA" "ë" "%EB" "ì" "%EC"
      "í" "%ED" "î" "%EE" "ï" "%EF" "ð" "%F0" "ñ" "%F1"
      "ò" "%F2" "ó" "%F3" "ô" "%F4" "õ" "%F5" "ö" "%F6"
      "÷" "%F7" "ø" "%F8" "ù" "%F9" "ú" "%FA" "û" "%FB"
      "ü" "%FC" "ý" "%FD" "þ" "%FE" "ÿ" "%FF"
   } $data]
}



Source modifiable
  Répondre   Avertir
#2
Je ne suis pas sûr qu'il soit très opportun de mettre ce bout de code ici.

Acronym Fetcher est un de mes plus anciens scripts et je viens de le remettre un peu au goût du jour, mais cette proc est d'origine et j'ai oublié de remettre son utilité en question.

Il me semble que ::http::formatQuery fait la même chose.
  Répondre   Avertir
#3
Je suis bien d'accord, mais il y a une raison (presque) intelligente pour laquelle j'ai mis cette fonction, ainsi que urldecode, qui est une fonction qui n'est que très rarement utilisée: ce n'est pas parce qu'on manipule des chaînes de type url que l'on fait des accès http, donc le package http n'est pas forcément chargé.

Mais bon, c'est vraiment un cas très particulier d'utilisation.

Par ailleurs, je me demande si avant tcl 8.4 (oui, il y en a qui trainent encore de très vieux systèmes) et donc l'utilisation de la version tcl de http, on est pas obligé d'utiliser cette fonction pour avoir une url propre.
  Répondre   Avertir


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  Supprimer les accents dans une chaîne de caractères MenzAgitat 0 2,777 07/10/2013, 21:18
Dernier message: MenzAgitat
  Décoder une chaîne de caractères contenue dans une url CrazyCat 3 2,974 07/10/2013, 16:19
Dernier message: MenzAgitat

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)