cs_b4d
Messages postés29Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention18 mars 2008
-
8 sept. 2005 à 12:43
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
9 sept. 2005 à 15:44
Bonjour.
Voilà, j'ai un petit problème avec une regex...
Je ne sais pas comment la faire.
Pouvez-vous m'aider?
Le problème:
Je vais lire dans un fichier et je récupère une ligne qui ressemble à ceci:
Date:20/05/2005 15:47:12
Maintenant, a partir de cette ligne, j'aimerai avoir une variable date et une variable heure telles que:
$date='20/05/2005';
$heure='15:47:12';
A partir de la, je suis bloqué...
J'avais pensé à ceci mais ca ne fonctionne pas:
$date = preg_replace ('!(.{5})(.{10})(.{1})(.{8})!', '$2', $temp);
$heure = preg_replace ('!(.{5})(.{10})(.{1})(.{8})!', '$4', $temp);
Mais ça ne fonctionne pas.
cs_b4d
Messages postés29Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention18 mars 2008 8 sept. 2005 à 14:15
Merci, ça fonctionne à un détail près...
Il ne prend pas le str_replace!
Donc, je me retrouve avec d'un coté
Date:20/05/2005
et de l'autre
15:47:12
Ce qui ne m'arrage pas puisque la suite prévois d'envoyer ça dans une table (dont je ne peux modifier les champs) avec un champ date et un champ heure tout deux en chiffre... (séparateur accepté)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 8 sept. 2005 à 17:33
Fonction inconnue...? Elle existe depuis php 3... Non EasyPhp doit la
connaitre aussi. Tu es sûr de bien l'écrire ? Fais un copier-coller de
ton code ici ?
cs_b4d
Messages postés29Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention18 mars 2008 8 sept. 2005 à 17:46
J'explique pour pas qu'il y ai de malentendu: Le but, c'est que la page php parcours un fichier, ouvre les fichier dont l'extention est vmg qu'il aille lire la ligne 18 et la 19 puis qu'il l'ajoute a une base de donnée contenant un champ id qui s'incrémente seul, un champ date, un champ heure et un champ message...
Y a un blème là. Tu stockes ce que tu lis dans $x, donc le ltrim doit
se faire sur $x, et pas sur $lire. Ce qui fait que, dans ton cas,
$chaine ressemble à n'importe quoi.
cs_b4d
Messages postés29Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention18 mars 2008 8 sept. 2005 à 18:41
Non, en fait, dans le fichier que je doit lire, les 17 premières lignes ne m'interessent pas... et je ne connais pas d'autre moyen que celui là pour les oublier!
fonc, le for sert a passer les 17 premieres lignes et le ensuite, je recupere les deux lignes suivantes qui m'interessent...
J'espere que tu me comprends... J'avoue parfois tres mal expliquer mais en général, je me contente de mal expliquer lol!
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 9 sept. 2005 à 12:38
Boah moi ça marche sans espace. De toutes façons y aurait une erreur
sur les paramètres (wrong parameter), pas undefined function. Ptete
qu'il a un php 2xx... ;-)
Cette solution a tres bien fonctionné... Juste que j'ignore pourquoi mais j'ai du mettre
$dataque e = substr ($tmp[0],10);
Comme si chcaractère comptait pour deux... allez comprendre!
On dit toujours que l'ordinateur ne fait pas d'erreur mais que c'est le programmeur qui en fait! En tout cas, même si j'ai corrigé la mienne, je ne l'ai toujours pas comprise!
Si quelqu'un la comprend, j'aimerais une explication!