18 07 2002 à 08:05


Salut,
je suis en train de faire un moteur de recherche dans le cadre de mes formidables cours de php (avec un prof ki sait rien).

Là, je fais un moteur d'indexation. Grosso modo, il ouvre une url distante , il récupère la source dans la variable $fcontents.

$url="http://127.0.0.1/support.html";
$fcontents = join(' ',file($url));

après ca, je voudrais faire une variable $motsclefs qui récupère tout ce qui est entre :
<meta name="keywords" Lang="fr" content=" CONTENU A RECUPERER ">

faut aussi se dire ke la syntaxe des balises meta peut changer... evidemment,je passe tout en lowercase au prealable.. mais par exemple l'emploi de Lang="fr" est po systématique ds la balise Meta Keywords.

Donc je pense ke pour faire ca, il me faut une regex mais le problème, c'est que j'arrive pas a trouver un tuto explicite (pour mon cerveau de taille réduite) qui explikerait ca.
J'ai cherché à adapter la regex bien connue ki génère un lien des k'elle rencontre htpp://.... mais bon, les resultats sont nuls !! !

HELPPPPP :! !! ! please :p :p :p

nicobox (guest star fanatique lvl 1 - )
46 ans (à la recherche du statut perdu !)
nicolas@nicobox.net
http://www.nicobox.net

Home Sweet Home...





  18 07 2002 à 08:07


mouhahahahahaharf quel truc de fous !

y'a po un truc automatique pour tranformer des metas en variables ?

sym_zo (vice ambassadeur pg.com en belgique - )
40 ans (Bruxelles)
simnq@free.fr | 145378003
http://simnq.free.fr

Les choses cachées doivent être tenues aussi proprement que celles que l'on voit, l'âme et les dents du fond par exemple...





  18 07 2002 à 08:18


fonction get_meta_tags() en php.
@ +

benzor (admin fanatique lvl 1 - )
46 ans (Chambéry)
ben@piregwan.com
http://www.benzor.com

On a toujours tort d'essayer d'avoir raison devant des gens qui ont toutes les bonnes raisons de croire qu'ils n'ont pas tort. Coluche





  18 07 2002 à 08:23


génial benzor ! je le savais qu'elle existait, c'te fonction !

sym_zo (vice ambassadeur pg.com en belgique - )
40 ans (Bruxelles)
simnq@free.fr | 145378003
http://simnq.free.fr

Les choses cachées doivent être tenues aussi proprement que celles que l'on voit, l'âme et les dents du fond par exemple...





  18 07 2002 à 08:35


ca fonctionne comment get_meta_tags ? ?

nicobox (guest star fanatique lvl 1 - )
46 ans (à la recherche du statut perdu !)
nicolas@nicobox.net
http://www.nicobox.net

Home Sweet Home...





  18 07 2002 à 08:49


t'as pas une doc php ?

6.95.14 get_meta_tags
PHP 3> = 3.0.4, PHP 4 > = 4.0.0

Description

array get_meta_tags(string filename ,[int use_include_path ])


get_meta_tags ouvre le fichier filename et l'analyse ligne par ligne, en recherchant les balises <meta> . Exemple avec les balises méta

<?php <meta name="author" content="name"> <meta name="tags" content="php3 documentation"> </head> <!-- parsing stops here --> ?>



(Faites bien attention aux fins de ligne. PHP utilise une fonction native pour analyser le fichier d'entrée, ce qui fait que les fichiers créés sous MacOS ne fonctionneront pas sous Unix).



Le nom d'une propriété devient sa clé, et la valeur devient la valeur dans le tableau associatif retourné, ce qui rend aisé la manipulation des informations. Les caractères spéciaux dans le nom de la propriété sont remplacés par des '_', le reste est converti en minuscules.



Mettre use_include_path à 1 forcera PHP à ouvrir les fichiers dans le chemin standard d'inclusion.


Bon g jamais testé mais à priori ca te renvois un tableau associatif avec les metas de la page.

Attends je vais faire un petit test et je te tiens au courant.

@ +

benzor (admin fanatique lvl 1 - )
46 ans (Chambéry)
ben@piregwan.com
http://www.benzor.com

On a toujours tort d'essayer d'avoir raison devant des gens qui ont toutes les bonnes raisons de croire qu'ils n'ont pas tort. Coluche





  18 07 2002 à 08:57


ayé g compris.. c bon.. cool ca marche.
c genial ce truc ! !!!

ceci dit, je suis qd mm preneur si qqu'un connait une url ki explik simplement et progressivement les regex !!

Merci encore les gens !!!

nicobox (guest star fanatique lvl 1 - )
46 ans (à la recherche du statut perdu !)
nicolas@nicobox.net
http://www.nicobox.net

Home Sweet Home...





  18 07 2002 à 08:59


ca renvois bien un tableau.. et c'est parfait comme ca....
j'ai vu la doc php mais moi, je trouvais pas ca explicite... mais g trouvé des exemples clairs ailleurs. c bon.

par contre, vous savais comment je peux recupérer les 250 premiers caractères du contenu de la page html.. genre apres <body> ....
la ca doit etre un coup de regex...

nicobox (guest star fanatique lvl 1 - )
46 ans (à la recherche du statut perdu !)
nicolas@nicobox.net
http://www.nicobox.net

Home Sweet Home...





  18 07 2002 à 09:01


ben tu cherche la position de <body> ... puis tu prends les 250 premiers à partir de celle-ci...

sym_zo (vice ambassadeur pg.com en belgique - )
40 ans (Bruxelles)
simnq@free.fr | 145378003
http://simnq.free.fr

Les choses cachées doivent être tenues aussi proprement que celles que l'on voit, l'âme et les dents du fond par exemple...





  18 07 2002 à 09:01


c bon g testé tu vas être content c tres pratique :
exemple :

// recup des metas dans un tableau
$meta = get_meta_tags("page.php");

// parcours du tableau :
while (list ($balise, $contenu) = each ($meta)) {
echo "$balise : $contenu <br> ";
}

ca te renvois par exemple :

description : description du site blablabla...
keywords : infographie, photoshop, blabla,...
robots : index, follow

etc etc ...

ca ta va comme ca ?

benzor (admin fanatique lvl 1 - )
46 ans (Chambéry)
ben@piregwan.com
http://www.benzor.com

On a toujours tort d'essayer d'avoir raison devant des gens qui ont toutes les bonnes raisons de croire qu'ils n'ont pas tort. Coluche





  18 07 2002 à 09:03


les expressions régulières c'est du chinois pour moi.
jamais eus la motiv ni le temps de m'y pencher sérieusement.
il y a un tres bon tutorial ici : http://www.phpfrance.com/tutorials/index.php?id...
@ +

benzor (admin fanatique lvl 1 - )
46 ans (Chambéry)
ben@piregwan.com
http://www.benzor.com

On a toujours tort d'essayer d'avoir raison devant des gens qui ont toutes les bonnes raisons de croire qu'ils n'ont pas tort. Coluche





  18 07 2002 à 09:13


je penche sur tout ca, merci les amis ! !! !
j'ai reussi a recup les keywords avec get_meta_tags(), ca merde sur le "title", je sais pas pkoi mais je vé trouver !!!
encore merci beaucoup ! !

nicobox (guest star fanatique lvl 1 - )
46 ans (à la recherche du statut perdu !)
nicolas@nicobox.net
http://www.nicobox.net

Home Sweet Home...





  18 07 2002 à 09:21


peut être parce que title n'est pas une méta ?
poueeeeeeeet

defraagh (membre fanatique - )
38 ans (Strasbourg)
defraagh@graphistory.com | 124369304
http://gwash.straterole.net [down]

*! j' la torture [mais sur les autres] !*
membre de l'association pour la revalorisation de la torture [ART]





  18 07 2002 à 09:22


oui... pour la simple raison que <title> n'est pas un meta tag mais un tag tout court

benzor (admin fanatique lvl 1 - )
46 ans (Chambéry)
ben@piregwan.com
http://www.benzor.com

On a toujours tort d'essayer d'avoir raison devant des gens qui ont toutes les bonnes raisons de croire qu'ils n'ont pas tort. Coluche





  18 07 2002 à 09:22


merde tu m'as grillé defraagh.

benzor (admin fanatique lvl 1 - )
46 ans (Chambéry)
ben@piregwan.com
http://www.benzor.com

On a toujours tort d'essayer d'avoir raison devant des gens qui ont toutes les bonnes raisons de croire qu'ils n'ont pas tort. Coluche


Pour répondre à ce sujet (et notifier automatiquement son auteur), cliquez sur le bouton REPONDRE A CE SUJET. Si vous voulez en plus avertir de votre réponse une personne qui a participé à ce sujet, cliquez sur le bouton en face de son intervention. Enfin si vous voulez inviter quelqu'un à réagir, utilisez les appeaux ci-dessous. Seuls les membres logués peuvent utiliser les appeaux et seuls les membres actifs peuvent être appeautés ^^. Bonne notification !

Vous n'êtes pas membre ou vous n'êtes pas logué(e) ou les appeaux sont désactivés dans votre profil. Vous ne pouvez pas utiliser les appeaux.