2014-06-18 4 views
-2

Je dois extraire des dates d'une chaîne: Par exemple, la chaîne est "... période du 06/01/2014 au 30/06/2014". Comment puis-je extraire ces deux dates que:Extraire des dates d'une chaîne en php

$date1 = "06/01/2014"; 
$date2="06/30/2014"; 
+1

avec le code. Où est le tien? –

+0

est-ce le seul format de date que vous voulez soutenir? –

+0

seulement format "jj/mm/aaaa" –

Répondre

1

comme celui-ci

$string = "period from 06/01/2014 to 06/30/2014"; 

$results = array(); 

preg_match_all('#\d{2}/\d{2}/\d{4}#', $string, $results); 

$date1 = $results[0][0]; 
$date2 = $results[0][1]; 
+0

Intéressant pour quand j'ai fait print_r ($ results) J'ai trouvé plus que ce que je m'attendais à voir - deux lignes contenant des tableaux de la même paire de valeurs. – Grzegorz

+0

@Grzegorz j'ai enlevé le groupe '(...)' et maintenant c'est ok –

+1

Je marque cela comme résultat. Merci pour la correction. – Grzegorz

0

Une expression régulière est votre meilleur pari.

<?php 
$string = "period from 06/01/2014 to 06/30/2014"; 

$pattern = "/(\d{2}\/\d{2}\/\d{4})/"; 

preg_match_all($pattern, $string, $matches); 

$date1 = $matches[0][0]; 
$date2 = $matches[0][1]; 

echo "Date1: " . $date1 . "<br />"; 
echo "Date2: " . $date2; 

Sorties:

Date1: 06/01/2014 
Date2: 06/30/2014 
+0

Consultez la regex à: http://regexr.com/3912d – David