Recuperer un mot n d'une page - PHP - Programmation
Marsh Posté le 19-03-2008 à 22:38:50
ReplyMarsh Posté le 20-03-2008 à 10:05:54
exeed a écrit : |
Comment ça sans la télécharger?
Tu veux savoir ce qu'il y a dans un fichier sans jamais récupérer le fichier?
Marsh Posté le 20-03-2008 à 12:07:56
Si c'est pas possible tant pis ,je télécharge (je pensais pouvoir me connecter ou un truc comme çà)
Donc j'ai un peu regardé , pour prendre le
Code :
|
Ca remplace $texte par un nombre variables de chiffres situes en fin de chaine , non?
(Cela ne fonctionne pas évidemment )
Une solution?
Marsh Posté le 20-03-2008 à 12:09:47
M'enfin pourquoi batailler? Tu récupères ton fichier, tu explode() le contenu avec les espaces/retours à la ligne comme séparateurs, et tu lis la nième valeur du tableau obtenu?
Marsh Posté le 20-03-2008 à 12:19:39
En effet...merci pour cette solution
Maintenant si je veux lire le 57 du (57), je fais
$texte="(57)";';
$texte=ereg_replace("\(([[digits]]*)\)","$1",$texte); ??
Marsh Posté le 20-03-2008 à 14:07:02
Bon j'ai un peu avancé depuis tout a l'heure mais j'ai tout de même un souci:
J'ai un id de session qui fonctionne sur une page.
Comment le "passer" c'est a dire "s'authentifier" sur la fameuse page a télécharger?
Pour le moment je fais ca:
<?php session_id('id connu');
session_start();
$url=url.session_name()."=".session_id();
$fp = fopen($url,"r" );
$contenu="";
while(!feof($fp))
{
$contenu .= fgets($fp,1024);
}
$lines = explode(" ", $contenu);
La page s'enregistre correctement, mais ce n'est pas la bonne , en effet le serveur m'envoie vers une page "Vous n'êtes pas authentifié"
Voila
Marsh Posté le 20-03-2008 à 15:09:25
Utilises curl à la limite.
Marsh Posté le 20-03-2008 à 16:23:33
C'est une idée
J'ai donc trouvé cette doc :http://julp.developpez.com/php/curl/
Je pourrai utiliser ce bout de code :
Code :
|
Combiné a une reutlisation d'une session :
Code :
|
et a mon bout de code pour découper la string en mots.
Question: y a t'il une option de curl permettant de rentrer moi l'id de session php en lieu et place du cookie?
Marsh Posté le 20-03-2008 à 16:27:47
Euh, ce doit être faisable vu que c'est juste un stockage sous forme d'un fichier texte, tu pourrais émuler l'existence de ce fichier je pense.
Mais bon, tu risques de t'embêter pour rien ^^
Marsh Posté le 20-03-2008 à 18:31:05
Bah utiliser le fichier cookie pour ton identification, et le réutiliser pour accéder aux données protégées.
Marsh Posté le 21-03-2008 à 11:01:36
Ca ne fonctionne pas.
Peut etre en modifiant le header (j'ai le numero de session).
J'ai teste un truc: j'arrive a me connecter a la page en faisant:
header(location:blabla?PHPSESSID=mon numero);
Mais fopen lui n'y arrive pas, une fonction plus a meme de realiser cela existerait elle?
Marsh Posté le 21-03-2008 à 14:41:40
créer un socket complet à la limite et paramêtrer toi même tes headers ...
Marsh Posté le 21-03-2008 à 15:33:07
avec curl tu peux faire un POST...
http://us3.php.net/manual/fr/function.curl-exec.php pour plus d'infos... je l'ai utilisé c'est tres pratique car tu peux te logguer sur un serveur distant, et recuperer les valeurs voulu...
Marsh Posté le 21-03-2008 à 16:50:00
texaff a écrit : avec curl tu peux faire un POST... |
C'est ce que je lui ai dis, mais il ne dois pas être très familier de php.
CURL permet GET et POST, donc bon, c'est aussi évolué qu'un navigateur (en soi ..)
Marsh Posté le 21-03-2008 à 23:21:50
En fait j'ai juste omis de transmettre un cookie. (il en fallait deux, je n'en ai transmis qu'un)
Voila problème réglé, maintenant les regexp.... demain
Marsh Posté le 25-03-2008 à 09:29:34
Bon finalement je suis passe en Perl , beaucoup plus simple pour faire ce genre de manipulations.
Je disais donc: les regexp!
Je récupère donc un contenu sur une page.
De la forme sqrt(nombre1)*pow(nombre2,nombre3)+nombre4
je veux récupérer les nombres, j'ai donc écrit cette chose:
if $res->content=~ /racine\((\d+\))\*(\d+)(?\d+)+(\d+)/
{
quelque chose
}
ce qui évidemment ne fonctionne pas.
Lorsqu'une parenthèse fait juste partie de la "forme" de la phrase, je l'échappe c'est bien ça?
Marsh Posté le 19-03-2008 à 22:17:05
Bonjour,
Prenons une page php ultra simple:
aucune balise (même pas de <html> )
Juste un texte.
Disons que cette page est sur un serveur distant.
Comment récupérer le 5eme mot du texte(exemple) de cette page sans la télécharger (si possible)?
J'ai entendu parler des regexp, mais sans balises comment faire?
Merci