Sujet : Aide pour une expression régulière
Hey,
J'ai besoin d'extraire une valeur d'une chaine mais je galère un peu.
Voici la source récupérer via Stream et File
{lhs: "0.74 Euros",rhs: "1.111036 U.S. dollars",error: "",icc: true}Le json est pas valide, donc je le reformate et je récupère rhs
$result = preg_replace("/([a-zA-Z0-9_]+?):/" , "\"$1\":", $content->readAll());
$result = json_decode($result);Ce qui me donne
après réécriture: {"lhs": "0.74 Euros","rhs": "1.111036 U.S. dollars","error": "","icc": "true"}
valeur de rhs: 1.111036 U.S. dollarsPour le moment tout se passe bien.
Je vire la devise via le séparateur (espace) pour obtenir que le nombre seul
$tmp = explode(' ', $result->rhs);Ce qui me donne
1.111036 avec $tmp[0]Mais petit problème:
Je ne peux pas découper via les espaces car le séparateur de millier est un espace pour certaines devises.
exemple: 12 458.50 U.S. dollars
J'ai essayé de faire une petite expression pour récupérer les nombres et séparateur mais il me récupère les . de U.S. dollars
Entant pas encore assez amoureux des regex, je galère un peu.
Quelqu'un pourrait me donner un petit coup de main ?
Merci d'avance
Dernière fois dit par tetardo (22 Oct. 2009 17:21)