IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Récupérer des données [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 12
    Points : 13
    Points
    13
    Par défaut Récupérer des données
    Salut,
    je me casse le popotin depuis maintenant 2 jours a essayer plusieurs fonctions regex pour mon script. Je veux faire comme ce site.
    j'ai donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $opq = file_get_contents('#\s#', '+', 'http://www.allocine.fr/recherche/?motcle=oss+117&rub=1&page=1');
     // je recup <a href="http://www.allocine.fr/recherche/?motcle=oss+117&f=4&rub=1" target="_blank">cette page</a> qui contient la liste des resultats
    moi je ne veux garder que les liens (OSS 117 2, OSS 117 se dechaine, OSS 117 prend des vacances, ...). Dans le code de la page allocine les liens qui m'interessent sont comme sa :
    <a set="yes" href="/film/fichefilm_gen_cfilm=111835.html" class="link1">oss 117 2</a>

    on m'a conseillé preg replace callback j'ai donc fait plusieurs trucs qui ne marchent pas je ne vais pas tout mettre car il y en as bcp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function film($newlien) { return '<a href="' . $newlien[1] . '">' . $newlien[2] . '</a><br /><br />'; }
    echo preg_replace_callback('#.*set="yes" fichefilm_gen_cfilm=(\d+)\.html class="link1".*#i', 'film', $opq);
    mais bon sa marche pas comm i faut, si vous pouvez m'aider... merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 69
    Points : 80
    Points
    80
    Par défaut
    dès le départ, je ne comprends pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $opq = file_get_contents('#\s#', '+', 'http://www.allocine.fr/recherche/?motcle=oss+117&rub=1&page=1');
    j'aurais fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $opq = file_get_contents('http://www.allocine.fr/recherche/?motcle=oss+117&rub=1&page=1');
    j'ai donc testé ta solution, et j'obtiens une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: file_get_contents() expects parameter 3 to be resource, string given in /Users/fabien/Sites/testfgc.php on line 3

    autre chose, les liens ne sont pas (plus ?) sous la forme que tu as donné, mais sous cette forme :
    <a href="/film/fichefilm_gen_cfilm=111835.html" class="link1"><b>OSS</b> <b>117</b> 2</a>
    soit <a href="/film/fichefilm_gen_cfilm=(identifiant).html" class="link1">(nom du film)</a>

    au final, j'obtiens donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
     
    $opq = file_get_contents('http://www.allocine.fr/recherche/?motcle=oss+117&rub=1&page=1');
     
    preg_match_all('#fichefilm_gen_cfilm=(\d+)\.html" class="link1">(.+)</a>#SUmis',$opq,$matches,PREG_SET_ORDER);
     
    foreach ($matches as $resultat) {
    	echo 'numero : ',$resultat[1],' : ',$resultat[2],"<br />\n";
    }

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 12
    Points : 13
    Points
    13
    Par défaut merci
    oui en effet le file get content avait un probleme mais je l'avas rajouté ici sans faire expres.
    par contre je ne sais pas pourquoi je n'ais pas pensé au foreach je suis vraiment debile, en ntou cas merci pour tout!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer des données dans excel
    Par alexia2 dans le forum MFC
    Réponses: 1
    Dernier message: 19/05/2005, 15h34
  2. Récupérer des données via le port usb
    Par matmuth dans le forum C++Builder
    Réponses: 12
    Dernier message: 11/05/2005, 16h34
  3. Comment récupérer des données de Outlook Express ?
    Par frenchsting dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 29/04/2005, 11h07
  4. Récupérer des données Excel vers Interbase ...
    Par Djedjeridoo dans le forum InterBase
    Réponses: 2
    Dernier message: 20/07/2003, 18h16
  5. cherche module ou langage pour récupérer des données audio..
    Par Ry_Yo dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 12/05/2003, 17h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo