Extraire quelques lignes d'une page distante

Fermé
Mysterious_fea Messages postés 401 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 23 mars 2013 - 9 sept. 2009 à 22:37
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 10 sept. 2009 à 20:26
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
A voir également:

3 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
10 sept. 2009 à 11:48
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
Mysterious_fea Messages postés 401 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 23 mars 2013 35
10 sept. 2009 à 19:43
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
M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 74
10 sept. 2009 à 13:24
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
10 sept. 2009 à 20:26
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