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

Soyez le premier à donner votre avis sur cette source.

Vue 8 005 fois - Téléchargée 855 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
etienne_benchmark Messages postés 1 Date d'inscription mercredi 26 juillet 2006 Statut Membre Dernière intervention 26 juillet 2006
26 juil. 2006 à 14:29
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();
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013
16 déc. 2005 à 03:16
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
cs_legaulois Messages postés 20 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 11 janvier 2006
6 juin 2005 à 08:32
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()
pvincent4 Messages postés 1 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 19 mai 2005
19 mai 2005 à 16:38
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
kegi Messages postés 164 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 25 août 2008
2 janv. 2005 à 23:20
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.