Code : Tout sélectionner
$reg = "/[a-zA-Z]{3}\/[0-3][0-9]\/[0-9]{4}\s\-\s[0-2][0-9]:[0-5][0-9]\s(am|pm)/"; // Expression régulière de type date + heure Mois(3 lettres)/dd/aaaa - hh:mm (am|pm)
$try = preg_match($reg, $article['title']);
if ($try != 1) // Test si le titre n'est pas une date
{
$rezer = substr($article['title'], 2);
$text = preg_replace('#\(\s*[a-z0-9]*\s*\)*\s*#i', '', $rezer); // Enlèce les parenthèses ()
$text2 = preg_replace('#\[\s*[a-z0-9]*\s*\]*\s*#i', '', $text); // Enlève les crochets []
$text3 = preg_replace('#\{\s*[a-z0-9]*\s*\}*\s*#i', '', $text2); // Enlève les accolades {}
$req = 'SELECT Name FROM *** WHERE Name="'. $text3 .'"'; // Sélectionne le nom dans la DB où la colonne Name = $text3
$rs_queri = mysqli_query($acdb,$req); // Teste la requête
$rs = mysqli_num_rows($rs_queri);
if($rs >= 1) // Test si la Série est dans la BD
{
$reze = substr($article['title'], 2); // Enlève les 2 premiers caractères
$tor= "<li><p class='show_reg'>$reze</p></li>\n";
$page .= $tor;
}
if($rs === 0)
{
$reqr = 'SELECT Name2 FROM **** WHERE Name2= "'.$text3.'" '; // Sélectionne le nom dans la DB où la colonne Name = $te
$rs_query = mysqli_query($acdb,$reqr); // Teste la requête
$rst = mysqli_num_rows($rs_query); // Nombre de fois que la requête existe.
if($rst >= 1)
{
$reze = substr($article['title'], 2); // Enlève les 2 premiers caractères
$tor = "<li><p class='show_verif'>$reze</p></li>\n";
$page .= $tor;
}
else
{
$tor = '';
$page .= $tor;
}
}
}
else
{
$tr = substr($article['title'], -8); // Garde les 8 derniers caractères de la chaine
if($tr != "08:00 pm") // Test si les 8 derniers caractères sont différents à "08:00 pm"
{
$tar="";
$page .= $tar; // Ne marque rien si le test est valide
}
else // Sinon il écrit la date
{
$title = substr($article['title'], 0, -11);
$ex = explode("/", $title);
$day = intval($ex[1]);
$month = $ex[0];
$year = intval($ex[2]);
$date2 = array(++$day, $month, $year);
$date3=implode("/", $date2);
$tar = "<center><span class='date'>$date3</span></center>\n";
$page .= $tar;
}
}// Expression régulière de type date + heure Mois(3 lettres)/dd/aaaa - hh:mm (am|pm)
$reg = "/[a-zA-Z]{3}\/[0-3][0-9]\/[0-9]{4}\s\-\s[0-2][0-9]:[0-5][0-9]\s(am|pm)/";
$try = preg_match($reg, $article['title']);
$tor = ""; // déplacé assure qu'il existe toujours
if ($try != 1) //____________________________________________________Le titre n'est pas une date
{//1
// il y a plus bas reze qui a l'air identique
$rezer = substr($article['title'], 2);
//plus simple avec str_replace
$text3 = str_replace(
[
'(',')',
'{','+',
'[',
']'],
['','','','','','',''],
$rezer);
// Sélectionne le nom dans la DB où la colonne Name = $text3
$req = 'SELECT Name FROM *** WHERE Name="'. $text3 .'"';
$rs_query = mysqli_query($acdb,$req); // exécute la requête
$rs = mysqli_num_rows($rs_queri);
if($rs >= 1) //____Il existe au moins une série satisfaisant la requete dans la BDD
{//2
$tor= "<li><p class='show_reg'>$rezer</p></li>\n";
}
else //________________Il n'existe pas de série satisfaisant la requete dans la BDD
{//2
// Sélectionne le nom dans la DB où la colonne Name2 = $text3
$req = 'SELECT Name2 FROM **** WHERE Name2= "'.$text3.'" ';
$rs_query = mysqli_query($acdb,$req); // exécute la requête
$rst = mysqli_num_rows($rs_query); // Nombre de lignes satisfaisant la requête.
if($rst >= 1)//_____une série au moins satisfait la requete dans la BDD
{//3
$tor = "<li><p class='show_verif'>$rezer</p></li>\n";
}//3
//2}
// C'est ici qu'il faut traiter la date
}//1
$page .= $tor;Code : Tout sélectionner
<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>titre</title> ------> Renvoies les noms de séries et les dates.
<link>lien</link>
<description>desc</description>
</channel>
</rss>
<?PHP
function estdate ($texte)
{
$pattern = "/[a-zA-Z]{3}\/[0-3][0-9]\/[0-9]{4}\s\-\s[0-2][0-9]:[0-5][0-9]\s(am|pm)/";
$resultat = preg_match($pattern, $texte);
return ($resultat == 1) ? True: False;
}
$data = array(
"Mar/21/2015 - 08:00 am",
"Glee (06x12)",
"Grimm (04x14)",
"Mar/21/2015 - 09:00 am",
"The Big Bang Theory (08x15)",
"Mer/22/2015 - 08:00 am",
);
$nb = count ($data);
$i = 0;
$liste = array();
$k=0;
$l = 0;
while ($i < $nb)
{
$donnee = $data[$i];
if (estdate($donnee))
{
$j = $i+1;
$donnee1 = isset($data[$j]) ? $data[$j]: '' ;
$nondate = estdate ($donnee1);
$k = $l+1;
while (($j < $nb) and ($nondate == false))
{
$liste[$k] = $donnee;
$donnee1 = $data[$j];
$liste[$l++] = $donnee1;
$nondate = estdate ($donnee1);
$j++;
$i = ($nondate === false)? $i++:$i;
}
}
$i++;
}
foreach ($liste as $z)
print "$z<br>"
?>