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 |
|
18 07 2002 à 08:07 |
mouhahahahahaharf quel truc de fous ! y'a po un truc automatique pour tranformer des metas en variables ? |
|
18 07 2002 à 08:18 |
fonction get_meta_tags() en php. @ + |
|
18 07 2002 à 08:23 |
génial benzor ! je le savais qu'elle existait, c'te fonction ! |
|
18 07 2002 à 08:35 |
ca fonctionne comment get_meta_tags ? ? |
|
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. @ + |
|
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 !!! |
|
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... |
|
18 07 2002 à 09:01 |
ben tu cherche la position de <body> ... puis tu prends les 250 premiers à partir de celle-ci... |
|
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 ? |
|
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... @ + |
|
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 ! ! |
|
18 07 2002 à 09:21 |
peut être parce que title n'est pas une méta ? poueeeeeeeet |
|
18 07 2002 à 09:22 |
oui... pour la simple raison que <title> n'est pas un meta tag mais un tag tout court |
|
18 07 2002 à 09:22 |
merde tu m'as grillé defraagh. |
|
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. |