Parseur (de balise) html v1.0 ...

Soyez le premier à donner votre avis sur cette source.

Vue 7 896 fois - Téléchargée 848 fois

Description

Salut à tous,
Donc pour apprendre la POO, j'ai décidé d'encapsuler un vieux parseur d'HTML que j'avais écrit y a ... une semaine. Donc voilà le résultat. Il parse n'importe quelle balise, et gère l'imbrication de 2 balises identiques (par exemple '<div>BALISE 1<div>BALISE 2</div></div>' en revoyant d'abord la balise 1 puis la balise 2) ainsi que les propriété des balises quelque soit la façon dont elle sont écrite.
Il n'y a pas de fonction autre pour l'instant parce que je ne savais pas quoi mettre ... Mais ça a le merite de fonctionner.

Source / Exemple :


/* ----------------------- */
// Donc utilisation :       //
/* ----------------------- */
$object = new html_parser('http://www.url.com/);
$link_list = $object -> parse_balise('<a></a>');
$img_list = $object -> parse_balise('<img />');
/* ----------------------- */
Et ça renvoie un tableau indexé avec chaque index qui contient la balise avec le contenu si il y en a un (['content']) et les propriétés (['href'], ['onclick'], etc ...).

Conclusion :


Je sais, ça merite plus de documentation et de commentaire et c'est pour ça qu'une mise à jour est prévu pour ... Bientôt !
(c) LocalStone :D

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
mercredi 26 juillet 2006
Statut
Membre
Dernière intervention
26 juillet 2006

Code très utile. Merci beaucoup. A LEGAULOIS aussi.
Juste une ultime correction : Si les paramètres ne sont pas de la forme : param="valeur" mais param=valeur, le programme freeze (boucle infinie).

Pour corriger ce petit bug, ajouter juste le "?" dans la ligne :
while (!(preg_match('/^(.*)(\'|")?$/', $property_current, $property_result))) {

de la fonction get_balise_property();
Messages postés
321
Date d'inscription
samedi 12 février 2005
Statut
Membre
Dernière intervention
21 février 2013

je suis desole mais je ne comprends rien a comment ca marche ton truc, qu'est-ce que j'en fait de ton fichier html_parser.class.php
je l'ai met l'url que je veux parser
Messages postés
20
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
11 janvier 2006

tu lance l'objet via => $object = new html_parser('http://www.url.com/);
donc enregistre ton contenu dans un fichier, puis traite-le

mais je suppose que c'est pour vérifier la non-présence de balises HTML dans ton formulaire
pour cela utilise: strip_tags()
Messages postés
1
Date d'inscription
jeudi 19 mai 2005
Statut
Membre
Dernière intervention
19 mai 2005

Bonjour,
Petite question complémentaire à ce code source très efficace :)
Je désire parser une page HTML obtenue après le POST d'un formulaire :

<form action="http://www.machin.com/test.php" method="post" target="_self" style="display:inline">
</form>

Quelqu'un saurait-il comment faire pour récupérer le contenu de la page en question ?

Merci

Patrick
Messages postés
164
Date d'inscription
jeudi 23 octobre 2003
Statut
Membre
Dernière intervention
25 août 2008

serait-il possible décrire tout ce qu'on doit marquer stp... cela veut dire l'inclusion de la class. ou mettre ca dans un zip (en refaire un fonctionnel).

quand je met le script tel quel, il y a une erreur car il manque une appostrophe dans object= ...

quand je le change j'obtiens:

Warning: Wrong parameter count for implode() in c:\program files\easyphp\www\ftp\html_parser.class.php on line 50

merci de me répondre,

cordialement,
kevin (kegi@hotmail.com)
Afficher les 27 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.