Précédent   Forum du club des développeurs et IT Pro > PHP > Scripts
Scripts Forum d'entraide sur les scripts PHP téléchargés. Les meilleurs scripts PHP, la FAQ scripts PHP, toutes les FAQ PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 27/12/2012, 18h19   #1
samspitz
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 279
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 279
Points : 30
Points : 30
Par défaut besoin d'aide avec preg_match

Bonjour à tous,

Depuis un certains temps, je suis bloqué sur un dev avec preg_match, je vous explique :

Je souhaite récupérer à l'intérieur du code HTML dynamiquement avec CURL et preg_match les infos de mon site à l'intérieur du code HTML, mon problème, ce trouve lorsque les balise css et html sont identique, je ne peux pas trouver la bonne occurence

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function parse()
{
$absent = Array(
'test' => 'inconnu',
);
//utilisation de curl et initialisation
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://site.com');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_NOBODY, FALSE);
$recup = curl_exec($curl);
curl_close($curl);

// on récupère le contenu souhaite et mon souci
preg_match('#<div id="a">Energie</div><div id="b">(.*?)</div>#is', $recup, $test);// il ne trouve rien
$sortie['test'] = (empty($test)) ? $absent['test'] : trim(utf8_decode(strip_tags($test[0])));
return $sortie;
} 
//mon souci est lorsque le css est identique dans la page, comment puis-je aller trouver la bonne occurence avec preg_match
var_dump(parse());
Merci d'avance pour votre aide
samspitz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2012, 21h18   #2
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 826
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 826
Points : 21 869
Points : 21 869
que veux tu dire par "quand le css est identique" ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2012, 22h20   #3
samspitz
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 279
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 279
Points : 30
Points : 30
je veux dire par css identique quand les données sont dynamique, qui donne par exemple

Code :
1
2
3
4
5
6
7
 
<div class="global"><div class="premier">test 1</div><div class="deuxieme">test 12</div></div>
<div class="global"><div class="premier">test 2</div><div class="deuxieme">test 12</div></div>
<div class="global"><div class="premier">test 3</div><div class="deuxieme">test 12</div></div>
<div class="global"><div class="premier">test 4</div><div class="deuxieme">test 12</div></div>
<div class="global"><div class="premier">test 5</div><div class="deuxieme">test 12</div></div>
<div class="global"><div class="premier">test 6</div><div class="deuxieme">test 12</div></div>
comment récupérer les données avec preg_match de <div class="premier"> test4 par exemple, je n'y arrive pas car toutes les balises sont identique, comment faire ?

Merci de votre aide
samspitz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2012, 14h30   #4
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 826
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 826
Points : 21 869
Points : 21 869
quel est ton critere pour récupérer cette ligne et pas celle au dessus ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2012, 17h32   #5
Bovino
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 18 530
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 42
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 18 530
Points : 66 438
Points : 66 438
De toute façon, ce n'est pas avec preg_match() qu'on parse un document HTML...
Utilise plutôt DOMDocument par exemple.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h39.


 
 
 
 
Partenaires

Hébergement Web