Pseudo Mot de passe
fleche Inscription
fleche Mot de passe oublié ?
Informations Générales
Chargement en cours...
Nombre de Visites fleche [ 139488 ]
Votre IP fleche [ 38.103.63.16 ]
Vous êtes ici : Home Page Dossiers Trucs et astuces (PHP) Chercher les liens dans un fichier
Imprimer Imprimer le document

Informations Membres

[192] Posts sur le forum
[177] Membres inscrits
Il y a en ligne :
  arrow 0 Membre
  arrow 1 Invité

fled Membre en ligne:
Aucun

Partenariat

Partenariat Vous pouvez aider ce site à évoluer, en contribuant à son développement. Proposez vos idées de cours et/ou dossiers. Rendez-vous dans « Partenariat » pour en savoir plus.


Nom de domaine

www.

Partenaires

PHP/MySQL - Chercher les liens dans un fichier

Auteur : 3L!X | Créé le : 19/06/2006 à 23H00

Dans cet exemple nous allons apprendre comment ouvrir un fichier distant, le scruter, et en extraire tous les liens href qu'il contient, pour les mettre dans un tableau array.

Ce script peut servir par exemple, pour créer un plan de site, très utile quant des pages sont ajoutées régulièrement sur votre site.

Bien sur nous pouvons rechercher bien d'autres choses dans un fichier, comme des images, etc...
Il suffira de modifier le " motif " recherché.

<?php
// Chemin du fichier a scruter
$chaine = implode("", file("dossier/fichier.php"));

// Recherche des liens
$motif = '#<a href="(.+?)"#';
preg_match_all($motif, $chaine, $out, PREG_PATTERN_ORDER);

// Affichage des liens trouvés
foreach($out[1] as $href){
	echo $href .'<br />';
	}
?>

Explications du script:

  1. file("dossier/fichier.php")
    Nous ouvrons le fichier fichier.php.
  2. $chaine = implode("", file("dossier/fichier.php"))
    Nous rassemblons les éléments du fichier en une chaîne, en les séparants par un espace.
  3. $motif = '#<a href="(.+?)"#';
    Nous délimitons un motif pour nos recherche grâce aux Expressions Régulières, pour ne sélectionner que les liens se trouvant entre <a href=" et ".
  4. preg_match_all($motif, $chaine, $out, PREG_PATTERN_ORDER);
    preg_match_all renvoie dans un tableau ($out) toutes les occurences du motif trouvé ($motif) dans la chaîne sujet ($chaine).
    PREG_PATTERN_ORDER met dans l'ordre les résultats trouvés.
    La recherche continue jusqu'à la fin de la chaîne.
  5. foreach($out[1] as $href){echo $href .'<br />';}
    Nous parcourons le tableau $out et nous affichons chaque occurrences trouvées.

(0) commentaires - Voir/EditerAjout commentaire

Haut de page