France Hardware : Forums de discussion - Découvrez notre nouveau comparateur d'offres Internet
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
29 579 membres enregistrés - 2 069 958 posts - 122 228 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           Bases de données
                regex et consort
116 connectés(record : 2799 le 29 May 2016 - 15 h 34)

Vous devez vous connecter pour répondre au topic.
Precedent | 1,2,3 | Suivant
regex et consort

fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 27 February 2005 - 16 h 45 m 49 s
Reprise du message précédent :

il peut ressembler a ca... l'icon
et mon navigateur accepte forcement le perl car sinon je ne pourrait pas m'authentifier chez free...



http://www.infos-reseaux.com

Woofy
Totalement inutile, complètement indispensable

Messages : 31 592
Inscrit le 11/01/02
Ville : Lyon
Non connecté
  Posté le 27 February 2005 - 17 h 09 m 53 s
Ton navigateur oui, c'est free qui doit pas aimer le perl!
Pour l'icone, ouaich deja vu, c'est vrai que j'y pensais pas... mais je vois pas!

Desole, je peut pas t'aider!




beavis
I hate the teletubbies...

Messages : 1 002
Inscrit le 18/09/03
Ville : Lyon 6e part-dieu
Non connecté
  Posté le 27 February 2005 - 17 h 16 m 23 s
Le script en perl est executé sur le serveur et pas par le client/navigateur...
M'etonnerais que free te permette d'executer du perl et en particulier les modules
LWP, vu les vers en perl qui trainent en ce momemt

Quand au symbole, c'est comme si ton navigateur voulair charger une image innaccessible...

Y'a moyen de faire la meme chose en php, si le php de chez free accepte d'ouvrir des fichiers dont le chemin est une url...

Sinon tu recupere chez toi (en perl) et tu importe apres dans la base chez free...

euh au fait, t'as la permission de pomper les données ? :D



www.bearstech.com

fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 27 February 2005 - 18 h 26 m 31 s
j'ia bien peur que ce systeme en perl soit tro compliqué pour ce que je veux faire... :chepa: j'aimerai simplement qqn qui conaisse fgets pour faire un script tout en PHP.
mais un grand merci :Merci: a tous ceux qui se decarcassent depui deux jours a trouver ce que je cherche et tt particulièrement a tempo qui s'est embeter a me trouver un script somme toute pas mal...

edit: jetez un coup d'oeuil a ca... http://fr3.php.net/manual/fr/function.fgets.php ou encore a sa... http://www.commentcamarche.net/php/phpfich.php3


Message édité 3 fois, la dernière par fanfouer le 27 February 2005 - 18 h 31.

http://www.infos-reseaux.com

Woofy
Totalement inutile, complètement indispensable

Messages : 31 592
Inscrit le 11/01/02
Ville : Lyon
Non connecté
  Posté le 27 February 2005 - 18 h 40 m 38 s
Bon deja il faut que tu recupere la page ligne par ligne.
Alors tu cherche fgets dans google et la? Tu tombe sur le site php.net ici : http://fr3.php.net/manual/fr/function.fgets.php

Et au milieu de tout ca tu a un petit bout de code :
    Code php    
1. /* */
2. <?php
3. $fd = fopen ("/tmp/inputfile.txt", "r");
4. while (!feof ($fd)) {
5.   $buffer = fgets($fd, 4096);
6.   echo $buffer;
7. }
8. fclose ($fd);
9. ?> 
Ce code te recupere ta page ligne par ligne. Bon bien sur il faut que tu remplace /tmp/inputfile.txt par l'url complete de la page. Ensuite, ben comme l'a dit tempo, a chaque ligne recuperee, tu regarde si ca commence par <tr><td><a href=, si oui alors tu met la ligne dans un tableau : $i = 0; while (!feof ($fd)) { $buffer = fgets($fd, 4096); if (ereg("^<tr><td><a href=", $buffer)) { $Array[$i] = $buffer; $i++; } } Donc avec ca tu devrais avoir toutes tes lignes dans le tableau array (modifie mon code s'il ne va pas, ca fait longtemps que je n'ai pas fait de php). Ensuite, ben tu applique une regexp qui va te mettre tes valeurs entre parenthese dans des variables, comme dans cet exemple :
    Code php    
1. /* */
2. <?php
3. if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) {
4.    echo "$regs[3].$regs[2].$regs[1]";
5. } else {
6.    echo "Format de date invalide : $date";
7. }
8. ?> 


Bon, c'est un exemple, a toi de trouver la regexp correcte.




fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 27 February 2005 - 19 h 14 m 39 s
que signifie le $i++ dans ton code de mise sous forme de tableau?? :???:
aisi que $Array[$i]??



http://www.infos-reseaux.com

bernie38
Waldorf (le pote à Statler)

Messages : 11 452
Inscrit le 28/08/03
Ville : Claix
Non connecté
  Posté le 27 February 2005 - 19 h 18 m 54 s


Le 27 février 2005 - 19 h 14, fanfouer a écrit :
que signifie le $i++ dans ton code de mise sous forme de tableau?? :???:
aisi que $Array[$i]??

aïe... C'est la base de la prog, là, tu n'as jamais fait de pascal, de C ?



La Montagne n'est pas dangereuse : on ne peut qu'y perdre la vie, tandis qu'en ville on devient bête et méchant
Voltaire


fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 27 February 2005 - 19 h 22 m 00 s
non, jamais car je commence a me mettre a la programation mais c'est dur... j'ai commancé avec l'actionscript que j'arrive a maitriser maintenant puis je vien de me mettre a php....



http://www.infos-reseaux.com

fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 27 February 2005 - 19 h 24 m 31 s
mais j'ai peut etre trouver mieu pour mettre sous forme de tableau... regardez ca!! http://www.siteduzero.com/php/array2.php#transformer
et chez moi ca me donne des chaines comme ca:
Array
(
[0] => 4aa54-1 4AA54 213.228.13.24 nancy 82.234.148.0/23, 82.234.150.0/23 11111

)



http://www.infos-reseaux.com

Woofy
Totalement inutile, complètement indispensable

Messages : 31 592
Inscrit le 11/01/02
Ville : Lyon
Non connecté
  Posté le 27 February 2005 - 19 h 24 m 58 s
Bon en gros, $i++ est equivalent a $i = $i + 1, ou encore $i += 1.

Ici, $array est un tableau, et on accede a chaque case du tableau en faisant $array[0], $array[1], ...
$array[$i] nous permet donc d'acceder a la case i du tableau.




bernie38
Waldorf (le pote à Statler)

Messages : 11 452
Inscrit le 28/08/03
Ville : Claix
Non connecté
  Posté le 27 February 2005 - 19 h 28 m 12 s


Le 27 février 2005 - 19 h 22, fanfouer a écrit :
non, jamais car je commence a me mettre a la programation mais c'est dur... j'ai commancé avec l'actionscript que j'arrive a maitriser maintenant puis je vien de me mettre a php....

mais non, c'est pas dur en soi, seulement faut commencer par le début. Je suis pas sûr que php soit le mieux pour apprendre à programmer, ni javascript et consorts...
Sinon, achète un bon bouquin, pour débuter ça aide. Faut penser aussi à l'algorithmique, parce que programmer ça se résume pas à apprendre une syntaxe.

Bon courage en tout cas !

P.S. : $i++ c'est idem $i = $i + 1
$Array[$i] c'est accéder au "$i ème" élement du tableau $Array? Attention, le premier est d'indice zéro !!! Donc, par exemple, pour accéder au 3ème élément, il faut que $i = 2 (0, 1, 2 -> voila le 3ème)

EDIT :grillaid: par woofy :jap:


Message édité 1 fois, la dernière par bernie38 le 27 February 2005 - 19 h 28.

La Montagne n'est pas dangereuse : on ne peut qu'y perdre la vie, tandis qu'en ville on devient bête et méchant
Voltaire


fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 27 February 2005 - 19 h 28 m 31 s
c'est donc une forme d'increment de valeur je pense (ici on augment de un a chaque fois)
mais que pensez vous que ca??? http://www.siteduzero.com/php/array2.php#transformer


Message édité 1 fois, la dernière par fanfouer le 27 February 2005 - 19 h 30.

http://www.infos-reseaux.com

Woofy
Totalement inutile, complètement indispensable

Messages : 31 592
Inscrit le 11/01/02
Ville : Lyon
Non connecté
  Posté le 27 February 2005 - 19 h 35 m 06 s
Explode... c'est pas mal, c'est equivalent au split que t'a donne tempo tout a l'heure.
Apres, il faut savoir sur quel delimiteur tu va "exploder" ta chaine.




Woofy
Totalement inutile, complètement indispensable

Messages : 31 592
Inscrit le 11/01/02
Ville : Lyon
Non connecté
  Posté le 27 February 2005 - 19 h 37 m 05 s
Sinon, pour commencer il y a le siteduzero comme tu a pu le voir, mais la doc en francais sur php.net est tres bien faite, et tu trouve tout ce que tu veut dedans.
Franchement, rien qu'avec php.net tu est capable de tout aprendre quasiment (sauf les bases de la prog).




fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 27 February 2005 - 19 h 39 m 17 s
ben j'ai trouver... vu que toute la liste est un fait un enorme tableau, il faut se baser sur les balises <td>. et le tout donne une liste brute avec seulement les donnees (en utilisant un commande autre que print_r() pour afficher les resultats : echo $array_chaine['0'] et le tout donne toute la liste.
le tout reste a savoir comme la metre dans la BDD en separant chaque informations.



http://www.infos-reseaux.com

bernie38
Waldorf (le pote à Statler)

Messages : 11 452
Inscrit le 28/08/03
Ville : Claix
Non connecté
  Posté le 27 February 2005 - 19 h 40 m 36 s


Le 27 février 2005 - 19 h 37, Woofy a écrit :
Sinon, pour commencer il y a le siteduzero comme tu a pu le voir, mais la doc en francais sur php.net est tres bien faite, et tu trouve tout ce que tu veut dedans.
Franchement, rien qu'avec php.net tu est capable de tout aprendre quasiment (sauf les bases de la prog).

hé oui... Faut pas croire qu'avec php (ou quoi que ce soit) on devient un crack parce qu'on a pondu un écran web :roll:



La Montagne n'est pas dangereuse : on ne peut qu'y perdre la vie, tandis qu'en ville on devient bête et méchant
Voltaire


fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 27 February 2005 - 19 h 42 m 07 s
c'est vrai...



http://www.infos-reseaux.com

Woofy
Totalement inutile, complètement indispensable

Messages : 31 592
Inscrit le 11/01/02
Ville : Lyon
Non connecté
  Posté le 27 February 2005 - 19 h 43 m 22 s
Tu utilise une regexp.
Tu a des sites qui te permettent de les apprendre.
De plus, comme montre dans mon exemple precedent, tu peut recuperer les donnes grace a une regexp en le mettant entre parenthese.

Par exemple, pour une date sous la forme 27/02/2005

ca concordera avec la regexp suivante :
[0-9]{2}/[0-9]{2}/[0-9]{4}

Pour recuperer dans un tableau tes valeurs, tu les met entre ()

([0-9]{2})/([0-9]{2})/([0-9]{4})

tu aura donc avec la fonction ereg :

ereg("([0-9]{2})/([0-9]{2})/([0-9]{4})", "27/02/2005", $res)
$res[0] == 27
$res[1] == 02
$res[2] == 2005




fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 27 February 2005 - 19 h 44 m 21 s
interressant, merci beaucoup



http://www.infos-reseaux.com

Woofy
Totalement inutile, complètement indispensable

Messages : 31 592
Inscrit le 11/01/02
Ville : Lyon
Non connecté
  Posté le 27 February 2005 - 19 h 45 m 55 s
Ben bon courage pour trouver la bonne regexp! :D
Nais tu verra, une fois que tu a ca, reste plus qu'a l'inserer dans ta base de donnee (ca tu sais faire j'espere? )




fanfouer
Un peu partout

Messages : 1 586
Inscrit le 04/01/05
Ville : annecy
Non connecté
  Posté le 27 February 2005 - 20 h 02 m 16 s
oui je sais faire ca (avec la requete mysql_query (INSERT into dslam....)



http://www.infos-reseaux.com

Precedent | 1,2,3 | Suivant
Page genérée en 0.2652 secondes par RahForum 2.0 | Gzip off |  Stats |  Metaforums |  RSS
© 2004 Cerbere Systems.
Prix Matériel Informatique | Informatique Lyon | Informatique Grenoble | Informatique Annecy | Informatique Marseille | Informatique Bordeaux | Forum Informatique
ADSL | Actualité ADSL | Deligo | Appareil photo | Commande Au Volant
Creative Commons
Message Boards and Forums Directory