WRInaute discret
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.
<?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);
}
}
}
?>
heredoc syntax. ça te permet d'écrire rapidement dans une variable.DecibelMan a dit:Merci,ce que je comprenais pas c'est pourquoi la balise html :
$html = <<< HTML ce que ça veux dire
<html lang="fr">
HTML;
DecibelMan a dit:Fonction récursive getAlt($tidy->root()) c'est un algo que je connaissais pas..
DecibelMan a dit: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 ?