Voici ma question. Je souhaite tester à partir d'une fiche produit si un produit chez mon fournisseur est disponible. Pour cela, je récupère ma variable de code produit que j'associe à une URL me permettant de regarder la même fiche produit chez le fournisseur. A partir de là, je teste mon masque, car j'ai besoin de retrouver un "oui" encadré par un </span> et un </li>.
Si le test est positif alors le produit est dispo, sinon, c'est qu'il ne l'est pas. Voilà ce que j'ai réussi... ça fonctionne sauf que ça me valide tout ce qui trouve entre les balises </span> et </li>. Je n'arrive pas à inclure le mot "oui" dans mon masque, ce qui serait l'idéal !
J'ai utilisé la structure preg_match_all un peu par défaut pour récupérer tout les lignes </span>-</li> mais en fait du coup je réalise que ça foire mon test.
<?php
$idprod = "40202";
$url ="xxx&identifiant=$idprod";
echo $url;
//echo htmlspecialchars(implode('', file($url)));
$code_page = file_get_contents($url);
$motif ='/<\/span>(.*\n?)<\/li>/Us';
preg_match_all($motif, $code_page, $sortie);
if(preg_match($motif,$code_page)){
echo 'Le produit <em>' . $idprod . '</em> est disponible';
} else {
echo 'Le produit <em>' . $idprod . '</em> est indisponible' ;
}
?>