Récupérer le contenu des alt d'une page ???
7 messages
• Page 1 sur 1
- DecibelMan
- WRInaute discret

- Messages: 145
- Inscription: 10 Juil 2005
Récupérer le contenu des alt d'une page ???
Bonjour,je cherche un script php qui ecrit dans un tableau ou un fichier txt le contenu des alt="...." d'un fichier php ???
ça existe???
Merci.
ça existe???
Merci.
- spidetra
- WRInaute passionné

- Messages: 1500
- Inscription: 7 Juil 2003
- Code: Tout sélectionner
<?php
// Le bout de code HTML à parser
// Il peut venir d'un fichier en local ou d'un GET sur Internet ou autre
// bad html string
$html = <<< HTML
<head>
<title>Test Tidy</title>
</head>
<body>
<H1>Get the alt atribute of an html page</H1>
<p class="bar">paragraphe</p>
<img src="" alt="image 1" />
<img src="" alt="image 2" />
<br/>
<div id="tidy" class="foo">
<img src="" alt="image3" />
<div>
</body>
</html>
<html lang="fr">
HTML;
// Fin du bout de code HTML
// le HTML est faux => balise <html> en fin de fichier
// => réparé automatiquement par tidy
// Instance d'un nouvel objet tidy
$tidy = tidy_parse_string($html);
// tidy répare le code HTML
tidy_clean_repair( $tidy ) ;
// well formed html
// sortie HTML pour voir le code HTML réparé
echo $tidy ;
// Récupére la racine de l'arbre html : $tidy->root()
// getAlt Est une fct recursive qui permet de parcourir tout l'arbre
getAlt($tidy->root());
function getAlt($node) {
// Est-ce que le noeud courant a des fils ?
if($node->hasChildren()) {
// Pour chacun des fils du noeud courant
foreach($node->child as $child) {
// Traitment avec chacun des attributs ( là c peut-être un peu faux) => ici tu fait ce que tu veux.
foreach ($child->attribute as $attribut ) {
if ( isset( $child->attribute["alt"] ) ) {
echo $attribut . "<br />" ;
}
}
// Appel récursif de la fonction
getAlt($child);
}
}
}
?>
Il existe bien sûr des méthodes plus simple à base de regexp.
Je préfère des outils qui parsent le code HTML (tidy, par exemple), ils sont plus souple et plus puissant. Il faut adapter le code.
Il y a une fct spécifique pour les attributs :
http://fr2.php.net/manual/fr/function.t ... t-attr.php, elle a pas marché chez moi.
Dernière édition par spidetra le Mar Oct 18, 2005 8:20, édité 1 fois.
- DecibelMan
- WRInaute discret

- Messages: 145
- Inscription: 10 Juil 2005
Merci beaucoup pour l'info j'avais cherché sur le web et j'avais rien vu...
là je vais essayer de piger le code...plus les infos du site.
Un grand merci..
là je vais essayer de piger le code...plus les infos du site.
Un grand merci..
- DecibelMan
- WRInaute discret

- Messages: 145
- Inscription: 10 Juil 2005
Merci,ce que je comprenais pas :
$html = <<< HTML ce que ça veux dire
<html lang="fr">
HTML;
j'avais jamais vu cette syntaxe...
Fonction récursive getAlt($tidy->root()) c'est un algo que je connaissais pas...
Je fais des tests pour voir le resultat.
il me marque erreur pour :
$tidy = tidy_parse_string($html);
peut-être c'est une fonction trop récente pour ma version php ?
$html = <<< HTML ce que ça veux dire
<html lang="fr">
HTML;
j'avais jamais vu cette syntaxe...
Fonction récursive getAlt($tidy->root()) c'est un algo que je connaissais pas...
Je fais des tests pour voir le resultat.
il me marque erreur pour :
$tidy = tidy_parse_string($html);
peut-être c'est une fonction trop récente pour ma version php ?
- spidetra
- WRInaute passionné

- Messages: 1500
- Inscription: 7 Juil 2003
DecibelMan a écrit:Merci,ce que je comprenais pas c'est pourquoi la balise html :
$html = <<< HTML ce que ça veux dire
<html lang="fr">
HTML;
heredoc syntax. ça te permet d'écrire rapidement dans une variable.
Il est évident que toi tu vas ouvrir un fichier, ou récupérer le contenu différemment.
DecibelMan a écrit:Fonction récursive getAlt($tidy->root()) c'est un algo que je connaissais pas..
La récursivité est un moyen de simplifier ( ou des fois de compliquer
Pour traiter un arbre HTML la récursivité est à ma connaisance un des moyens le plus simple.
DecibelMan a écrit:Je fais des tests pour voir le resultat.
il me marque erreur pour :
$tidy = tidy_parse_string($html);
peut-être c'est une fonction trop récente pour ma version php ?
http://fr2.php.net/manual/fr/ref.tidy.php
PHP > 4.3.x
par contre il faut que tidy soit installé sur ton serveur et que PHP soit compilé avec le support de tidy.
si ça ne marche pas il faut que tu passes par des regexp.
Là, ça fait trop longtemps que je n'ai pas pratiqué pour pouvoir t'aider. La regexp doit être assez simple quand même
- DecibelMan
- WRInaute discret

- Messages: 145
- Inscription: 10 Juil 2005
Oui sympa,
j'avais pensé aux expressions régulières au départ mais j'avais pas le bon début donc je cherchais une autre fonction.
j'ai regardé regexp et je crois avoir trouvé là une façon de faire...
C'est pas si facile je vais bosser...
le truc c'est que dans mes pages a scanner je vais faire un include et récupérer les valeurs dans un tableau que je vais afficher...ensuite....
j'avais pensé aux expressions régulières au départ mais j'avais pas le bon début donc je cherchais une autre fonction.
j'ai regardé regexp et je crois avoir trouvé là une façon de faire...
C'est pas si facile je vais bosser...
le truc c'est que dans mes pages a scanner je vais faire un include et récupérer les valeurs dans un tableau que je vais afficher...ensuite....
7 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Google me met le contenu de mes balises alt en description
- Outil pour retrouver le contenu des attributs alt et title
- Récupérer contenu vidéo distante ?
- Récupérer le contenu d'une page facebook en php ???
- Récupérer contenu de la page google par file_get_contents
- lociciel ou script php pour recuperer le contenu d'un site
- Récupérer le contenu d'une variable pour la mettre dans l'ur
- Script PHP pour récupérer pour récupérer l'HTML d'une page
- Google API : guide de développement de l'API Google - 20-09-2002
- AdWords API Version 3 - 02-02-2006
- Avoir beaucoup de contenu : conseil n°1 en référencement - 04-08-2008
Consultez la description détaillée des produits ou services de Google suivants : Google Website Optimizer
- Calcul du taux de liens profonds
Cet outil vous permet de calculer le taux de liens profonds vers un site web. Un lien profond est un lien qui ne pointe pas vers la page d'accueil mais au contraire vers une page interne du site. Les sites dont l'essentiel du référencement vient de leurs inscriptions dans des annuaires ont un taux de liens profonds faible ; à l'inverse, les sites de référence ont souvent un taux de liens profonds plus important, signe que leur contenu a suscité de nombreux liens spontanés.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
