Bonjour tout le monde.
Je tente de mettre au point une fonction qui va tester chez mon fournisseur la disponibilité d'un produit. Ce champ est en clair sur son site Web, donc ça doit être possible. Je pars du back office sur VM pour faire ce test, en me servant du code produit qui est le même.
Je récupère la bonne page (je dois encore "réduire" la capture) et normalement je dois trouver un "Disponibilité : oui" ce qui valide mon test, mais bien sûr il y a des balises entre ce texte et c'est là que le problème se pose, car je n'arrive pas à bien paramétrer l'encadrement. Si je met juste "oui" pas de soucis ça marche, mais je prends le risque de retrouver un autre oui dans le texte.
J'ai donc le problème d'avoir un Array ( ) et je ne comprends pas trop pourquoi puisque la chaine que je recherche existe.
Voilà la ligne en question dans ce que je récupère :
Et le code de la fonction
En vous remerciant par avance de vos suggestions
Edit : solution trouvée
Je tente de mettre au point une fonction qui va tester chez mon fournisseur la disponibilité d'un produit. Ce champ est en clair sur son site Web, donc ça doit être possible. Je pars du back office sur VM pour faire ce test, en me servant du code produit qui est le même.
Je récupère la bonne page (je dois encore "réduire" la capture) et normalement je dois trouver un "Disponibilité : oui" ce qui valide mon test, mais bien sûr il y a des balises entre ce texte et c'est là que le problème se pose, car je n'arrive pas à bien paramétrer l'encadrement. Si je met juste "oui" pas de soucis ça marche, mais je prends le risque de retrouver un autre oui dans le texte.
J'ai donc le problème d'avoir un Array ( ) et je ne comprends pas trop pourquoi puisque la chaine que je recherche existe.
Voilà la ligne en question dans ce que je récupère :
Code:
<span>Disponibilité : </span> oui </li>
Code:
$idprod = "40202"; $url ="xxx&identifiant=$idprod"; echo $url; $code_page = file_get_contents($url); $motif ='/<span>Disponibilité : <\/span> oui <\/li>/i'; preg_match($motif, $code_page, $sortie); print_r($sortie); if(preg_match($motif,$code_page)){ echo 'Le produit <em>' . $idprod . '</em> est disponible'; } else { echo 'Le produit <em>' . $idprod . '</em> est indisponible' ; }
Edit : solution trouvée