IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

Caractères particuliers <> HTML


Sujet :

HTML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 265
    Par défaut Caractères particuliers <> HTML
    Bonjour les amis,
    Je suis gêné de poser cette question mais comme je n'ai pas encore trouvé de solution simple ou logique je la pose quand même.
    M'étant fait un programme de déchiffrage de code HTML dans une application en Realbasic (Xojo).
    J'isole chaque balise etc et puis je prends le code source d'une grosse page internet pour tester.
    Et paf dans un des textes il y a un caractère > (supérieur à 0 dans le texte).
    Du coup ça fait foirer la structure du fichier.
    Si quelqu'un pouvait me dire comment contourner ce problème, distinguer les <> des balises de ces mêmes caractères dans du texte, je lui en serais drôlement reconnaissant.
    BB

  2. #2
    Membre chevronné
    Homme Profil pro
    web a11y
    Inscrit en
    Avril 2014
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : web a11y
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2014
    Messages : 191
    Par défaut
    Bonjour !

    À mon humble avis, tu ne te rends pas compte que tu n'est pas au bout de tes peines.
    Ce que tu fais, c'est lire le code d'une page, l'analyser, pour en ressortir certains éléments. Pour cela, il te faut connaître la grammaire du code, du langage utilisé, et vérifier au passage que le code fourni est correct. De là, tu te fais une image de la page dans une structure que tu maîtrises, et tu extraits ce que tu veux. Tu fais comme le premier travail du compilateur, ou du navigateur web. Pour cela, il existe généralement des bibliothèques spécialisées, mais en Basic je ne sais pas.

    Gag supplémentaire, d'ailleurs relevé par un ancien stagiaire : et si ta page web comporte aussi des exemples de code mais qui eux sont affichés à l'écran. Du code affiché pour illustration, mais donc pas du code propre à la page. Et comment fait-on ? On se dit rapidement qu'on doit se tourner vers les bibliothèques désignées pour ce boulot. Cela dit, c'est un travail intéressant (tu peux faire des recherches avec "compilation" et "parsing").

    Amuses-toi bien !

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    pour répondre à la question, on le fait en respectant les règles de parsing décrites par le standard normalisé HTML5, qui sont ici : https://html.spec.whatwg.org/multipa...g.html#parsing

    "Mais c'est super compliqué !" -> oui.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 265
    Par défaut
    Stellar7 : je n'ai pas la prétention de réinventer l'HTML mais au départ je voulais me faire une petite application graphique genre PageMaker (s'il existe encore) afin de pouvoir maîtriser les textes et les images sur une feuille.
    Pour tester le programme je prenais des pages internet et leur code source et petit à petit j'ai pu atteindre un nombre de fonctions qui me suffisent amplement.
    Thelvin : je me suis basé sur ce genre de documents pour isoler toutes les fonctions HTML mais je n'ai pas trouvé ces fichus < et > dans du texte, je vais encore chercher même si ce n'est pas de la plus grande importance.
    C'est vrai que c'est compliqué pourtant quand on regarde une page internet il y a des textes ou des images à un certain endroit avec une action éventuelle derrière ces éléments.
    Encore merci à vous.

  5. #5
    Membre chevronné
    Homme Profil pro
    web a11y
    Inscrit en
    Avril 2014
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : web a11y
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2014
    Messages : 191
    Par défaut
    Il ne s'agit pas de réinventer le HTML, mais d'analyser un fichier texte qui représente un code. Et je trouve que c'est un sujet passionnant (le parsing).

    Tu as certainement pu faire des choses sympa, mais on arrive régulièrement sur des pièges que d'ailleurs les navigateurs prennent en compte, et essayent aussi de prendre en compte le fait que ce soit mal écrit. D'où la différence entre un navigateur développé par une très grosse équipe, et un lecteur d'écran pour mal/non-voyant, développé par une petite équipe, et qui doit supposer (dans un premier temps, une première version) que c'est correctement écrit.

    À un moment donné, tu en arrives à lire caractère par caractère. Tu lis le caractère "<", alors tu te dis que c'est le début d'une balise. En es-tu certain ? Mon exemple t'illustre le contraire (caractère pour marquer le début d'une balise versus caractère dans une chaîne affiché à l'écran). Non pas parce que c'est mal écrit, mais parce qu'il y a une syntaxe, une grammaire pour écrire le code. Et généralement, on décode soit en ayant à côté une déclaration des règles de grammaire que tu vérifies à la volée (et d'ailleurs, tu fais comment la différence entre HTML 5/4.1/4.0/… ? cf @Thelvin), soit en ayant fait ton propre code en se basant sur la grammaire (cette fois figée, et même question : as-tu prévu toutes les versions ?). Tiens encore : et lorsque le nom de la balise n'existe pas dans le langage HTML, mais que tu dois faire comme si c'était une div avec un nom particulier ? (regarde les codes générés par des frameworks).

    Conclusion, on arrive vite à se dire qu'il faut utiliser un truc déjà fait pour ne pas réinventer la roue. C'est ce qu'ont fait certains de mes stagiaires en langage java, en utilisant une librairie à laquelle tu donnes le code de la page, mais aussi l'adresse de la grammaire à respecter (d'ailleurs disponible en ligne), et tu finis avec des structures de données dans ta mémoire, où tu peux aller directement repêcher ce qu'il te faut. En Basic, je ne sais pas si on en trouve.

    Souhaites-tu rester en Basic ? Parce que pour manipuler les pages hors librairie spécialisée, beaucoup travaillent directement en javascript (on est déjà dans le "moule" html). Sinon, trouver s'il existe des aides pour le langage utilisé.

    Je suis d'accord sur "on voir bien que … dans le code". Ouais. Mais derrière ton œil, le cerveau fait plein de travail, lit les interlignes, fait des sous-entendus, saute sur des conclusions (parfois trop rapidement d'ailleurs, faut faire gaffe). Ton programme, lui, ne fait que ce que tu lui a dit de faire, avec les règles que tu lui a donné. Le parsing est quasiment un métier à lui tout seul, et fait partie de ces choses qui ont l'air de ne pas en avoir l'air, et c'est justement là qu'on se fait avoir… mais ça reste passionnant.

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 265
    Par défaut
    Merci Stellar pour tes conseils et infos.
    Comme dit au départ je ne veux pas traiter l'HTML de façon exhaustive mais utiliser les fonctions de base.
    Pour ma part le plus contraignant c'est le CSS.
    Je compte rester en RealBasic (Xojo) qui m'a fait abandonner tout autre langage tant c'est pratique même si c'est moins performant en terme de vitesse.
    Je peux déjà lire les pages de Wikipedia et ça me suffit amplement.
    J'ajoute petit à petit les balises que je n'avais pas encore croisées et traite les nouvelles anomalies.

Discussions similaires

  1. Réponses: 14
    Dernier message: 15/06/2007, 13h59
  2. [MySQL] caractères particuliers pour la base de données
    Par samplaid dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/05/2007, 17h57
  3. Traduction des caractères accentués en entités HTML
    Par philippef dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2006, 11h31
  4. [VBS] - Caractéres Spéciaux et entités HTML
    Par RegiO dans le forum VBScript
    Réponses: 6
    Dernier message: 07/11/2006, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo