[PHP] utilisation de cURL et regex

Résolu/Fermé
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 - 6 janv. 2010 à 19:18
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 - 31 déc. 2016 à 16:51
Bonjour,

Je me lance dans l'apprentissage du cURL.
J'ai un petit problème lorsque j'utilise une regex pour voir si un texte en particulier se trouve sur la page demandée.
voici mon script :
//valeur GET
$url = $_GET['url'];

//initialisation du handler
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$data = curl_exec($ch);

//capture du titre
if (preg_match("#<h3 class=\"tgg\"><center>[.+]</center></h3>#", $data))
{
	echo 'titre trouvé';
}
else
{
	echo 'titre non trouvé';
}

curl_close($ch);

chaque fois, le résultat n'est pas trouvé donc c'est "titre non trouvé" qui ne s'affiche pas.
Pourtant j'ai vérifié, il y a bien ce que je cherche d'écrit.

Merci pour vos aides :)

5 réponses

avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
6 janv. 2010 à 19:27
preg_match("#<h3 class=\"tgg\"><center>[.+]</center></h3>#", $data)

Essaye en remplaçant "[.+]" par "(.+)" (les crochets servent à faire des classes de caractères).
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
6 janv. 2010 à 19:33
ok bete erreur de ma part ^^'

ensuite, j'aimerais récupété uniquement le texte entre les balises mais la, c'est tout le texte qui s'affiche.
echo preg_replace('#<h3 class="tgg"><center>(.+)</center></h3>#isU', '<strong>Titre : $1</strong>', $data);

Pourquoi?
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
6 janv. 2010 à 20:51
Ok après quelque chippotage, j'y suis arrivé.
merci encore pour ton aide :)
0
Bonjour,

un petit up pour savoir comment tu as résolu ton problème
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
24 juin 2013 à 18:17
Je t'avoue que je ne sais plus. cela fait 3 ans ! ;)
0
WENKz > okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014
24 juin 2013 à 18:20
Tu as toujours ton script ? Si tu peux partager
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
24 juin 2013 à 19:50
non désolé. Je ne travaille plus du tout sur ce projet.
Quel est ton problème ?
0
Je souhaite créer un crawler, mais avant cela je veux apprendre a me servir de curl, et la je sais récupérer une page web complète mais je veux utiliser les regex pour récupérer qu'une partie du site mais j'y arrive pas :/ je suis debutant je vais seulement commencer mon bts di en septembre ...
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
25 juin 2013 à 12:48
Regarde le tuto php/mysql sur le site du zéro. Un des chapitres est consacré aux regex ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
passion.php Messages postés 1 Date d'inscription lundi 26 décembre 2016 Statut Membre Dernière intervention 31 décembre 2016
31 déc. 2016 à 04:32
Voila qui devrait te satisfaire ;)

if (preg_match('#<title[^>]*>(.+?)</title[^>]*>#i',$body,$title))
echo 'Titre = '.$title[1];
else
echo 'Pas de titre dans la page';
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 929
31 déc. 2016 à 16:51
Bonjour
presque 7 ans après, j'espère pour lui (elle) qu'il ne t'attendais plus pour être satisfait ;)
0