Découper un chaine de caractères avec des dates
floxi
Messages postés
145
Date d'inscription
Statut
Membre
Dernière intervention
-
floxi Messages postés 145 Date d'inscription Statut Membre Dernière intervention -
floxi Messages postés 145 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je souhaite découper une chaine de caractère de ce type:
Afin d'obtenir:
Quelle fonction php utiliser pour réaliser ce découpage.
Merci pour vos réponses.
je souhaite découper une chaine de caractère de ce type:
11/03/2013 17:09: installation office 11/03/2013 17:09: installation adobe et Java...
Afin d'obtenir:
INSERT INTO ttest (date,text) VALUES '11/03/2013 17:09', 'installation office.'; INSERT INTO ttest (date,text) VALUES '11/03/2013 17:09', 'installation adobe et Java...';
Quelle fonction php utiliser pour réaliser ce découpage.
Merci pour vos réponses.
A voir également:
- Découper un chaine de caractères avec des dates
- Comment découper un pdf - Guide
- Nombre de jours entre deux dates excel - Guide
- Caractères ascii - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Caractères spéciaux - Guide
2 réponses
Salut,
La fonction suivante retourne un tableau qui contient toutes tes données:
Pour accéder à la date du 3° element par exemple $tab[2]['date'] et le message associé $tab[2]['message'].
(En admettant que tu récupères le résultat de la fonction dans une variable $tab bien sur ;)
La fonction suivante retourne un tableau qui contient toutes tes données:
Pour accéder à la date du 3° element par exemple $tab[2]['date'] et le message associé $tab[2]['message'].
(En admettant que tu récupères le résultat de la fonction dans une variable $tab bien sur ;)
$chaine = '11/03/2013 17:09: installation office 11/03/2013 17:10: installation adobe et Java 11/03/2013 17:11: installation office 11/03/2013 17:12: installation adobe et Java'; var_dump(separer_chaine($chaine)); function separer_chaine($chaine){ $date_pattern = '[0-9]{2}[/][0-9]{2}[/][0-9]{4}\s[0-9]{2}[:][0-9]{2}'; $datas = array(); $pattern = '#(' . $date_pattern . ')[:](.*?)' . $date_pattern . '#'; while($chaine != ''){ if(preg_match($pattern, $chaine, $res)){ $datas[] = array( 'date' => $res[1], 'message' => trim($res[2]) ); $chaine = str_replace($res[1] .':'. $res[2], '', $chaine); } else{ $pattern = '#(' . $date_pattern . ')[:](.*)$#'; } } return($datas); }
Bonjour,
merci beaucoup pour cette fonction (ça ne s'invente pas), cependant je reste bloqué dans ma configuration car je test plusieurs chaines de caractère et il arrive que la chaine ne contienne pas la pattern...
ce qui provoque un bug avec cette fonction avez vous une idée pour adapté le script avec cette contrainte ?
Merci
Flox
merci beaucoup pour cette fonction (ça ne s'invente pas), cependant je reste bloqué dans ma configuration car je test plusieurs chaines de caractère et il arrive que la chaine ne contienne pas la pattern...
ce qui provoque un bug avec cette fonction avez vous une idée pour adapté le script avec cette contrainte ?
Merci
Flox