Vérificateur HTML en langage C

Bonjour

J’essaye de faire (pour mes études) un vérificateur HTML : un prog qui vérifie si toutes les balises sont bien écrites, au bon endroit, si il y a la balise fermante (ex : ), etc, dans un fichier HTML.

Mais je ne vois absolument comment faire, donc si quelqu’un pouvait m’expliquer … MERCI.

Tu dois vraiment le faire en C
Sinon en .net tu as des vérificateur de Xml qui feront très bien l’affaire pour vérifier de html

C’est un peu retord comme projet, avec tous les outils qui existe… (validator du W3…)

Sinon, pour ta question, c’est de la simple analyse de chaines puis de l’analyse “syntaxique”.

@ Akkai : oui, je dois le faire en C, projet de 3ème semestre

@ Sans-nom : oui je sais que c’est retord (avec le W3C), mais c’est notre prof de C qui veut ça (il va pas bien)

Ce que je voulais savoir, c’est si il faut analyser la page ‘en direct’ ou bien charger la page dans le programme (tableau, chaine de caractères, …) ? Que me conseillez-vous ?

Tu dois en plus la charger ? Si oui, ça ne change rien si tu passes par un lexer : il lira caractères par caractères… Par contre, si tu as de l’utf-8, ça risque d’être amusant.

nan nan nan ! Je ne suis pas obligé de la charger, c’est une question.

lexer ??
Edité le 23/09/2010 à 08:40

Analyse lexicale. En gros, ça va te permettre de lire des mots dans le fichier, etc.

j’vais tester ça et je vous tiens au jus.

bonjour ,
je te conseil charger en memoire de chaines de caracteres dont la longuer varie en fonction des besoin des
test que tu va faire . pour ça il faut declarer un pointeur de type char , puis demarrer une boucle
dans laquelle tu lis les caracteres dans le fichier a l’aide de fread() ou bien fgets() , a chaque fois n’oublie pas de
reserver plus de memoire a ton pointeur avec (malloc()) , puis tu pourra tester la syntaxe a l’aide des conditions
et c’est en ecrivant cette partie que tu trouvera les conditions d’arret de la boucle.
j’ai un code source qui analyse la syntaxe de java , mais je croi que vaut mieu que je te laisse te casser un peu la tete.
a+