Bonjour,
Je rencontre un problème avec la fonction preg_replace et l'utilisation d'une autre fonction pour traiter le résultat.
En fait, dans mon texte, j'ai ca :
(où 000000 est un timestamp unix).bla bla bla ... <%(date:000000)%> bla bla bla
Je tente alors de le convertir en date lisible avec la fonction Strftime();. Cependant, le résultat est une chaîne de caractère, donc la fonction me renvoie une erreur. Or, lorsque je fais appel à intval(); pour convertir le résultat en entier, il me retourne 0.
Comme il est précisé dans le manuel PHP qu'il est possible que la valeur retourne 0, je tente une fonction externe pour verifier si c'est bien le cas.
Et voici les résultats :
=> Cette fonction me retourne bien le bon nombre mais toujours sous forme de chaîne (normal, aucun traitement).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php function test($string) { return $string; } ?>
=> Pareil que intval(); => ca me retourne 0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php function test($string) { return (int) $string; } ?>
=> Cette fonction me retourne 0.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php function test($string) { return $string + 0; } ?>
Dès lors, j'ai voulu vérifier "string" et il se trouve qu'il se passe des choses assez bizarre. En effet, lorsque dans ma fonction qui me retourne la bonne valeur de string (donc le timestamp de 10 caractères), je fais un strlen(string), il me dit que la chaine ne fait que 2 caractères.
Autrement dit, je ne comprends plus rien. Pouvez-vous m'aider ? Merci d'avance.
Amicalement,
Nico.
Partager