Extraire quelques lignes d'une page distante

Bonjour,
Je voudrais extraire les lignes 100 à 105 d'une URL distante.
J'ai fait :
$data=file_get_contents('http://www.exemple.fr');

Et j'ai pensé à utiliser substr, mais cette fonction ne passe pas en variable des numéros de ligne, mais de caractères.
Quelle fonction utiliser pour extraire les lignes 100 à 105 de $data ?
Merci
Cordialement
Maxime
Configuration: Windows XP
Firefox 3.0.13

3 réponses

  1. essayes plutôt avec file()

    file() Lit le fichier et renvoie le résultat dans un tableau
    [ Exemples avec file ] PHP 3, PHP 4, PHP 5

    array file ( string filename , int use_include_path , resource context )

    file est identique à file_get_contents , hormis le fait que file retourne le fichier filename dans un tableau. Chaque élément du tableau correspond à une ligne du fichier, et les retour-chariots sont placés en fin de ligne.


    $data=file(ton_fichier)

    et pour avoir les lignes 100 à 105

    for($i=100;$i<=105;$i++){
       echo $dat[$i].'<br />';
    }
    1
    1. Merci beaucoup c'est exactement ce qu'il me fallait !
      Juste une petite question :
      J'ai extrait la ligne 100, qui me retourne :
      <div class='s_11'>blabla</div>

      Est-ce possible de n'extraire que "blabla" (c'est à dire ce qui est situé après <div class='s_11'> et avant </div> ?
      Merci
      0
  2. Bonjour,

    Je pense qu'il peut y avoir plusieurs méthodes:

    1) Tu peux enregistrer le contenu de data dans un fichier, et utiliser le code de lecture de fichier ligne par ligne pour récupérer les lignes voulues

    2) Plus simple, Tu peux jouer avec la fonction plit() et les expressions régulières pour découper ta chaine de caractères selon les retours à la ligne ( \n ).
    1
    1. Est-ce possible de n'extraire que "blabla" (c'est à dire ce qui est situé après <div class='s_11'> et avant </div> ?

      pour ça recherche du coté de preg_match(...)
      0