Fonction pour convertir chaine ASCII en caracteres - PHP - Programmation
Marsh Posté le 21-03-2008 à 13:18:08
Oui, urldecode() est fait pour ça. Quel problème vous pose cette fonction ?
Marsh Posté le 21-03-2008 à 15:10:38
avec ce code:
Code :
|
ça m'affiche bien: 5502020
C'est quoi le soucis que tu as ?
Marsh Posté le 22-03-2008 à 00:53:01
re-bonjour,
je m'excuse, j'ai oublie de preciser un detail : oui, urldecode() fonctionne sans probleme pour l'affichage. Mais en fait, j'ai besoin d'utiliser la valeur dans des donnes PHP ... j'ai entre autre besoin de faire des comparaisons et recherches dans SQL, et donc j'ai besoin d'assigner une variable avec la valeur recuperee.
Or quoique je fasse, ma variable a pour le moment : 5502020
J'essaie de le forcer en INT, ou utiliser differentes conversions, mais ca me retourne toujours 0.
et par exemple, $variable = urldecode($chaine); ne fonctionne pas
des suggestions ?
Marsh Posté le 22-03-2008 à 09:58:11
$variable = intval(urldecode($chaine));
?
Marsh Posté le 22-03-2008 à 11:48:15
jagstang a écrit : $variable = intval(urldecode($chaine)); |
je viens de tester ca, plein d'espoir
mais non, malheureusement le intval me retourne 0.
et strval me retourne la meme chaine en ASCII
donc je me resigne a l'idee de faire ma propre fonction ce qui m'embete un peu vu que le systeme va devoir traiter des tonnes d'information a chaque fois, donc j'ai peur que ce soit lourd ... mais bon
Marsh Posté le 22-03-2008 à 12:03:37
Code :
|
vous voyez une facon de faire plus simple ? si oui, je suis preneur
Marsh Posté le 22-03-2008 à 18:18:12
y'a surement moyen de faire plus simple avec preg_match_all
Marsh Posté le 23-03-2008 à 01:37:44
vous vous prenez grave la tête les gars, un preg_match pour ca ? réinventer la roue ? faut pas pousser, juste lire la documentation
Unparadized, urldecode() n'est pas adapté a l'encodage de ta valeur (cf documentation : http://fr2.php.net/urldecode) :
Citation : Décode toutes les séquences %## et les remplace par leur valeur. |
... ce qui ne correspond pas du tout à ton cas
par contre, cette fonction te conviendra à 100% : html_entitiy_decode (cf documentation http://fr3.php.net/html_entity_decode) :
Code :
|
Marsh Posté le 23-03-2008 à 01:39:36
Xav_ a écrit : avec ce code:... |
Xav_ ->... évidement, urldecode n'étant pas fait pour ce type de chaine, tu peux meme faire "echo $chaine;" t'auras le meme résultat...
Marsh Posté le 21-03-2008 à 12:28:18
Bonjour,
je cherche depuis hier soir la solution a mon probleme, et devant mon echec, je viens demander de l'aide a des connaisseurs
Pour etre bref, je recupere d'une fonction existante une chaine ASCII, qui donne ceci : 5502020
et j'aimerais en recuperer la vraie valeur, qui est : 5502020
Dans cet exemple, je chercher a recuperer un entier, mais a vrai dire, j'aurais aussi besoin de tous les caracteres plus tard, donc un string serait parfait.
Je sais que je pourrais "explode()" la chaine, puis traiter chaque valeur avec chr() (chr(53) me donnera 5, chr(48) me donnera 0...) mais je me demandais s'il y avait une fonction php existante qui ferait deja le travail ?
on m'a suggere utf8_decode() ou urldecode() mais je n'ai pas encore reussi a le faire fonctionner.
je vous remercie d'avance !