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

Contribuez / Téléchargez Sources et Outils PHP Discussion :

[discussion] Réparer du code HTML


Sujet :

Contribuez / Téléchargez Sources et Outils PHP

  1. #1
    Invité
    Invité(e)
    Par défaut [discussion] Réparer du code HTML
    s.n.a.f.u, FoxLeRenard, Xunil, Djakisback, patouche et jreaux62 (moi-même) nous sommes penchés sur cette question :
    http://www.developpez.net/forums/d75...lise-tronquee/
    Et nous relançons la discussion ici.

    Résumé :
    - le problème : "comment réparer du code formaté en html ?"
    Lorsqu'on prend un "bout de code html" (pour faire un résumé, par exemple), il arrive que des balises soient tronquées, d'autres soient ouvertes mais plus fermées, ...

    - les solutions :
    1- supprimer purement et simplement toutes les balises html (!) :
    $chaine = strip_tags($chaine);

    2- réparer les balises html
    Plusieurs débuts de solution ont été avancées :
    - utilisation de regex (qui s'avère fort complexe)
    - utiliser Tidy ? http://www.php.net/manual/fr/tidy.repairstring.php
    http://tidy.sourceforge.net/docs/qui...op-empty-paras
    Mais Tidy demande d'installer le module tidy (avec PHP5)
    - (un topic trouvé par FoxLeRenard) : http://www.kwsphp.org/index.php?mod=...c=voir&id=8445
    source : http://partage.lsi-dev.com/kwsphp/resume.zip
    - (contribution de Patouche) :
    - HTMLPurifier : http://htmlpurifier.org/
    - htmLawed : http://www.bioinformatics.org/phplab...awed/index.php

    Voila où nous en sommes. La solution n'est pas encore trouvée.
    Des idées ?

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Points : 273
    Points
    273
    Par défaut
    Bon pour contribuer au fil de cette discussion, sur le site de HTMLPurifier vous pourrez trouver d'autres systèmes afin de réparer correctement une page html (ou pour la transformer un en xml valide). On peut donc citer

    HTML_Safe : http://pear.php.net/package/HTML_Safe (dernière release 2005 - necessite l'installation de pear - non testé)
    kses : http://sourceforge.net/projects/kses/ (dernière release 2005 - non testé)
    Safe HTML Checker : http://simonwillison.net/2003/Feb/23/safeHtmlChecker/ (dernière release 2003 - non testé)

    Tous ces liens (corrigé) sont extraits de http://htmlpurifier.org/comparison

    Sinon, pour info, HTMLPurifier est un système qui (si vous arriver à le faire fonctionner) permet d'avoir du html très correct. Par contre, il est capricieux avec les magic_quote. Je n'ai par ailleurs pas réussi à le faire fonctionner par ailleurs sur ma machine par contre aucun problème sur une autre de mes machines et sur mon serveur de test.

    Fonctionne en classe de la même manière que Zend. Pour le rendre compatible avec Zend ou un autre FW que vous utilisez, il faut supprimer l'autoload et préfixer toutes les classe par Zend_ (ou autre si même idée au niveau de autoload - en tout cas bon courage)

    Pour htmLawed,le sytème est assez léger (un fichier) et il répare correctement d'après mes tests sur le validator W3C.


    Cordialement,
    Patouche

  3. #3
    FoxLeRenard
    Invité(e)
    Par défaut
    Bonjour et espérons que nous irons loin

    Pour moi il nous faut éviter de mettre bout a bout des extraits de code qui tentent de réaliser un extrait de xx mots d'un article, sans en détruire la mise en page .

    A ce sujet on peut se poser la question de l'élimination des DIV ou Tableaux ?
    en effet on peut pour une amorce (lien vers l'article complet) rester sous forme de textes, avec des gras, couleurs etc .. sans pour autant avoir un morceau de tableau ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par FoxLeRenard Voir le message
    Bonjour et espérons que nous irons loin
    Lao Tseu disait : "Un voyage de mille lieues commence toujours par un premier pas"
    L'étape cruciale est la réflexion concernant la METHODOLOGIE :
    - par où commencer ?
    - quels problèmes va-t-on rencontrer ? Comment les résoudre ?
    - comment y arriver ? avec quels moyens ?

    Perso, je préconise de commencer "simple" :
    1-> comment réparer des balises simples "ouvrante-fermante" (<p>...</p>, <u>...</u>, ....)
    2-> comment éviter de tronquer une balise (<strong>...</st, <u>...<, ....)
    3-> on verra après pour plus "complexe" (<table><tr><td> ...)
    4-> je ne parle même pas des balises orphelines ! (<img ... /> et encore moins des formulaires (<form><input ... /> ...)

  5. #5
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    Bonjour,
    Je n'ai pas tres bien compris : s'agit-il de faire une "methodologie" pour reparer manuellement du code html ou faire une fonction qui le fasse tout seul ?

    Pour ma part, je commence par reorganiser le code a ma convenance : c'est-a-dire sous forme d'arborescence.
    - a chaque balise (ouvrante ou fermante), aller a la ligne
    - a chaque ouverture de balise on se decale a droite, et a gauche pour les balises fermantes.
    Ainsi, a la fin on devrait seulement avoir le </html> au bord de la marge. si ce n'est pas le cas, c'est qu'il manque une balise

    Apres, pour la fonction qui "detecterait" les erreurs, je penses a une fonction qui repere une balise ouvrantre (regexp) partant du debut du fichier et qui chercherait sa jumelle avec le slash pour la fermante en partant de la fin du fichier...
    une fois les 2 recherches arrivant a la meme ligne, on arrete la fonction

    ps : je suis hors sujet ?
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  6. #6
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Points : 273
    Points
    273
    Par défaut
    Mmmmh, je viens juste de rentrer et que de réponses intéressantes...

    @Doksuri : Il s'agit de réaliser une fonction / une classe / un système qui répare un mauvais formatage. Ce dont tu parles, c'est une manière de coder proprement du html et il me semble que ce soit la meilleure des méthodes que tu mets en œuvre. Après tu as en effet un html propre et claire à la lecture.

    Pour la fonction que tu proposes, j'avais cherché à en faire une qui fonctionnait sur ce principe et l'idée me paraissait bonne au début. En y réfléchissant, je me suis dit que cela ne fonctionnerait pas aussi simplement. Exemple de problème à prendre en compte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div>coucou</div><div>aïe aïe aïe...</div
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div>coucou</div>aïe aïe aïe...</div
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div>coucou<div>aïe aïe aïe...</div></div
    Comme tu le remarques, à chaque fois, si tu pars de la première balise et que tu recherches sa jumelle, celle-ci existe bien mais bon...

    De plus, tu sembles oublier quelque chose. En html (comme en xml - mais là c'est pas trop grave), il existe des balises orphelines, alors la jumelle n'existe pas toujours...

    @FoxLeRenard : Et bien, je ne suis pas tout à fait pour ton idée de "virer" les truc inutile comme les tableaux ou les div... Pourquoi, parce que si tu cherches dans des arbres dom avec des xpath, le fait que tu vires ce genre de balise te casse tout. Alors après c'est plus trop utilisable si tu veux faire des choses avec XSL.

    Pour ma part, j'ai récemment rechercher à faire ce genre de chose. Pour commencer, je suis aller voir comme était formée une DTD (il me semble que c'était un bon point de début au vue de mes lacunes -encore présente- dans le domaine)

    Ensuite, à partir de là, je me suis dis :

    1 - Vérifier que dans toutes les balises ouvrantes on avait des attributs correctes, ie pas des choses du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div coucou id="cestpasvalideca">
    (ça c'est pas encore trop dur...)
    2 - Extraire toute les balises d'une dtd en mettant à part les baslies orphelines
    3 - Remettre en forme les balises orphelines. (ça reste encore dans le domaine du pas trop dur...)
    4 - Réparer les balises qui vont par paire tout en distinguant les balises qui ont des enfants (comme form=>fieldset ou table=>(tbody/thead/tfoot=>)tr=>td/th/tf)
    Soudain le problème semblait se corser...

    Bon, je sais pas si cela fait avancé le schmilblick, mais si cela peu aidé au fil de cette discussion alors tant mieux.


    Cordialement,
    Patouche

  7. #7
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    Ok patouche, c'est maintenant plus clair.

    Et en effet, le probleme de balise que tu souleves m'avais deja titille...
    Et je viens de me rendre compte qu'il y a le meme probleme pour trouver la jumelle dans l'autre sens (en lisant le fichier normalement)

    => doit-on partir sur le principe de trouver "la jumelle fermante" ou chercher ailleur...

    Sinon, je pensais faire une comparaison avec un genre de "pourcentage de concordance"
    par exemple :
    <div>coucou</div><div>aïe aïe aïe...</div
    en bleu : 100% de concordance, donc c'est bon (sans compter le slash), et en rouge 80% de concordance, donc on en deduit que c'est la meme mais avec une erreur

    edit :
    je suis aller voir comme était formée une DTD
    => c'est quoi DTD ?
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  8. #8
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Points : 273
    Points
    273
    Par défaut
    La dtd permet de définir un document. Traduction : Document Type Definition...

    http://fr.wikipedia.org/wiki/DTD

    Sinon ce que tu peux faire c'est regarder le source de cette page, regarder ensuite le doctype. Bon aller je t'aide un peu...

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    Le voici pour cette page. Et ensuite , tu peux aller à l'adresse et voir ce qui est ecrit (http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd - rassures toi ce ne sera pas un virus horrible).

    Ensuite pour en expliquer plus, ben là j'ai plus trop le niveau requis... Désolé pour cette ignorance...


    Patouche

  9. #9
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    ok patouche, je vais essayer de comprendre tout ce bazar xD

    sinon, j'ai trouve (parmis tant d'autre) un site qui repertorie les balises html
    -> comme on va tenter de corriger du html, autant connaitre toutes les balises possibles =)
    la-grange.net/w3c/html4.01/index/elements.html
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Doksuri Voir le message
    site qui repertorie les balises html
    la-grange.net/w3c/html4.01/index/elements.html
    C'est déjà une bonne base de travail pour commencer !
    Note : les balises s'écrivent en minuscule

  11. #11
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Note : les balises s'écrivent en minuscule
    Ah o_O ... moi je les ai toujours ecrites en majusule pour les distinguer du reste du code... pour que ca saute aux yeux justement... (il faut dire que je n'ai pas eu de cours de programmation donc, je ne penses pas etre une reference de propretee html

    Question paralelle... les espaces dans les balises sont-elles interpretees ?
    par exemple : <html >, < html> ou < html > sera-t-il bon ou pas ? ou les balises doivent-elles etre "normales" <html>

    sinon, j'ai commence a coder ce "projet"...
    je commence par copier le fichier a corriger (pour ne pas faire de boulettes sur l'original)
    puis, (pour commencer) j'ai une regexp qui detecte les balises.
    pour ne pas partir du mauvais pied, la plus longue balise est bien <blokquote> hein ? 10 caracteres sans compter les <>

    je m'y suis mis il y a 15 min... dites moi ce que vous en pensez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    //index.php
    <HTML>
     <HEAD>
      <TITLE>Correcteur HTML</TITLE>
     </HEAD>
     <BODY bgcolor="#COCOCO">
    <?php
     
    require_once("correcteur.php");
    $fichier="a_corriger.php";
    echo (verif_html($fichier)) ? 'le fichier <B>'.$fichier.'</B> ne contient pas d\'erreurs.' : 'Le fichier <B>'.$fichier.'</B> contient des erreurs';
     
    ?>
     </BODY>
    </HTML>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //a_corriger.php
    <HTML>
     <HEAD>
      <TITLE>code a corriger</TITLE>
     </HEAD>
     <BODY bgcolor="#C0C0C0">
     <P>Paragraphe correcte</P>
     <P>Paragraphe faux</P
     </BODY>
    </HTML>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    //correcteur.php
    <?php
     
    function verif_html($file)
    {
    if(!copy($file, "temp.php"))
        exit ("La cr&eacute;ation du fichier temporaire &agrave; &eacute;chou&eacute;.");
     $error=true;
     
    $chaine='<blokquote>';
    $pattern="#<[a-zA-Z]{1,10}[ .*|>]#";
    if(!preg_match($pattern, $chaine))
    $error=false;
     
    if(!unlink("temp.php"))
            exit("Probl&egrave;me lors de la supression du fichier temporaire.");
     
            return $error;
    }
     
    ?>
    pour mes tests, j'ai ecris $chaine en dur
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  12. #12
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    bon, j'avance sur les regexp... mais j'ai un probleme... il ne se passe plus rien...la fonction me renvoit toujours true...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    function verif_html($file)
    {
    //creatation d'un fichier temporaire
            if(!copy($file, "temp.php"))
                    exit ("La cr&eacute;ation du fichier temporaire &agrave; &eacute;chou&eacute;.");
     
            $error=true;
    //balise ouvrante a verifier
    //en dur pour les tests
            //$open="<blockquote>";
            $open="<th width=\"100\" />";
     
    //pattern pour les balises qui n'ont pas de balises fermante (ex : <br />)
            $shortpattern="#<[aA|bB|cC|fF|hH|iI|lL|mM|pP].{1,7}[ |]/[ |]>#";
            if(!preg_match($shortpattern,$open))
                    return false;
     
    //balise fermante a verifier
    //en dur pour les tests
            $close="</blockquote>";
     
    //si il y a un espace (ex : <body bgcolor="#C0C0C0">)
    //on recupere les caracteres entre le '<' et ' '
            $pos=strpos($open, " ");
            if($position === true)
            {
                    for($i=1;$i<=$pos;$i++)
                            $seek.=$open{$i};
            }
    //sinon, on recupere entre le 1er et le dernier caractere (non compris)
            else
            {
                    for($i=1;$i<strlen($open)-1;$i++)
                            $seek.=$open{$i};
            }
     
    //$seek contient maintenant le nom de la balise fermante a verifier
     
    //pattern pour la balise ouvrante
            $openpattern="#<[a-zA-Z]{1,10}[ .*|>]#";
    //la balise ouvrante ne correspond pas aux attentes
            if(!preg_match($openpattern,$open))
            $error=false;
     
    //patern pour la balise fermante
            $closepattern="#<[/]".$seek.">#";
    //la balise fermante ne correspond pas aux attentes
            if(!preg_match($closepattern,$close))
            $error=false;
     
    //destruction du fichier temporaire
            if(!unlink("temp.php"))
                    exit("Probl&egrave;me lors de la supression du fichier temporaire.");
     
            return $error;
    }
    j'espere ne pas trop m'egarrer
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  13. #13
    FoxLeRenard
    Invité(e)
    Par défaut
    Bonsoir,
    Escusez moi, mais dans toutes ces interventions pendant que je rejoignais Paris, j'ais peur que, démarrant, l'analyse du probléme on en oublie au passage.

    Alors pour ceux qui ne connaissent pas toute l'histoire, voyant que l'on parle de réparation ... je voudrais rappeler ce qui nous améne a faire ce nouveau fil,
    nous avons carément la prétention de faire un outil (class fonction ou autre peut importe) utilisant toute la syntaxe PHP nécessaire , pour réaliser ceci:


    Nous avons sous une forme quelconque fichier texte pHP HTML etc ... ou base de donnée, des pages html ! ARTICLES ou PAGES

    La question de départ était comment faire un résumer en prenant les 60 premiers caractéres avec un lien genre lire la suite ...

    De la question, si en faisant ça on coupe
    1) avant la fermeture d'une balise ouverte
    2) au milieu d'une balise
    Alors il faut réparer !

    Voila exactement ce qui nous réuni ici

  14. #14
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    waaaaah... ppffffff.... fallait le dire tout de suite >_<
    donc si j'ai bien compris... vous voulez faire ca :
    Les 60 caracteres [...]
    lire la suite.
    et le lien pointe vers la page complete.

    question : qu'est-ce qu'il faut reparer ???
    si le lien est de type page.php?article=1234 je ne vois pas ce qu'il faut reparer...

    sinon pour le resume, je pense qu'il serait mieux de mettre juste du texte (pas de balises) et de ne pas couper de phrases. (on coupe au point '.' precedant les 60 caracteres OU a la fin de la 1ere phrase si elle fait plus de 60 caracteres)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  15. #15
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par Doksuri Voir le message
    waaaaah... ppffffff.... fallait le dire tout de suite >_<
    donc si j'ai bien compris... vous voulez faire ca :
    60 caractéres lire la suite ici ....

    et le lien pointe vers la page complete.
    OUI OUI OUI

    si le lien est de type page.php?article=1234

    OUI OUI on se moque tu type de lien et notre page est supposée marcher 100%

    De plus le PHP / MYSQL écrira une page html et
    OUI OUI nous savons en extraire le 60 premiers caractéres ...

    question : qu'est-ce qu'il faut reparer ???
    Ces 60 premiers caractéres qui doivent avoir (garder) le look de la page réelle, donc notre idée de départ était enfantine, pour ce résumer
    ACROCHE de l'article, on vire toutes lse balises, ça aussi
    OUI OUI on sait faire
    Mais on a décider de relever le paris de .... etc ...

    Voila tu sais tout

  16. #16
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par FoxLeRenard Voir le message
    nous avons carrément la prétention de faire un outil (class, fonction ou autre peu importe) utilisant toute la syntaxe PHP nécessaire
    => Ne soyons pas modestes : on vise même le Prix Nobel !
    Citation Envoyé par FoxLeRenard Voir le message
    La question de départ était comment faire un résumer en prenant les 60 premiers caractéres avec un lien genre lire la suite ...
    De la question, si en faisant ça on coupe
    1) avant la fermeture d'une balise ouverte
    2) au milieu d'une balise
    Alors il faut réparer !
    => c'est là notre DEUXIEME ETAPE (commençons "simple" (!))
    (la 1ère étape étant la réflexion sur la méthodologie)

    => En TROISIEME ETAPE ... on verra plus tard si on peut aller encore plus loin
    (réparation de code html plus "complexe")

  17. #17
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    => Ne soyons pas modestes : on vise même le Prix Nobel !
    Oui Oui il faut le dire .. a propos es-tu OK avec mon complément de précisions

  18. #18
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par FoxLeRenard Voir le message
    es-tu OK avec mon complément de précisions
    Complètement !
    Pour aboutir à quelque chose, il faut savoir démarrer "petit" (simple).
    Inutile de faire des "plans sur la comète" en voulant aller trop vite, ou en cherchant à tout prix à tout englober.

    On s'attaque à un "gros sac de noeux" : tentons de les dénouer un par un, ok ?

    PS : pour le moment, je ne peux pas trop me pencher sur le problème : je suis en train de refaire toute ma compta depuis 2007 (!!), et ça me prend bien la tête ! Néanmoins, je suis la discussion avec intérêt)

  19. #19
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Points : 273
    Points
    273
    Par défaut
    Merci à FoxLeRenard de recentrer la conversation

    Citation Envoyé par jreaux62 Voir le message
    Pour aboutir à quelque chose, il faut savoir démarrer "petit" (simple).
    Inutile de faire des "plans sur la comète" en voulant aller trop vite, ou en cherchant à tout prix à tout englober.
    Mmmh en effet, tu n'as pas tord.

    Dans ce cas là, ne serait-il pas plus simple de partir dans un premier temps d'un html bien formé ??
    J'entend par là, on part de quelque chose de bien formé puis on le "coupe" comme des "barbares" et enfin on essaie de le complété petit à petit...

    Est-ce une bonne idée à votre avis ??

  20. #20
    Invité
    Invité(e)
    Par défaut
    Hypothèse de départ : on part d'un code "propre" (valide : pas d'erreur dans le code)

    Partons de ca (la forme la plus "simple" possible) : 1 seule balise ouvrante-fermante,
    QUELLE QUE SOIT CETTE BALISE : <strong>...</strong>, <u>...</u>, <i>...</i>, ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sdfg sdfgsdg  <strong>qsdf qsdfqsdf qgsd hdfdf</strong> qsdgfqsdsd
    La "coupe" donnerait :
    Cas 1 => la balise fermante n'y est plus ==> il faut :
    -> la fermer (la balise !)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sdfg sdfgsdg  <strong>qsdf qsdfqsdf qg
    Cas 2 => la balise fermante est "tronquée" ==> il faut :
    -> soit la "reconstruire",
    -> soit supprimer l'ouvrante et le "bout de fermante".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sdfg sdfgsdg  <strong>qsdf qsdfqsdf qgsd hdfdf</stro
    ou
    sdfg sdfgsdg  <strong>qsdf qsdfqsdf qgsd hdfdf<
    Cas 3 => c'est la balise ouvrante qui est "tronquée" ==> il faut :
    -> la supprimerCa devrait être un bon début, je pense !
    Ps : étant moi-même peu (pas du tout) doué en regex ... je m'en remets à vous ...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 7 12345 ... DernièreDernière

Discussions similaires

  1. Insertion code html dans bdd
    Par jeff37 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 15/04/2004, 15h03
  2. code html en ram -> TWebBrowser pour affichage
    Par FredericB dans le forum C++Builder
    Réponses: 2
    Dernier message: 22/04/2003, 22h55
  3. Récupérer le code HTML d'une page avec Delphi 7
    Par PsyKroPack dans le forum Web & réseau
    Réponses: 5
    Dernier message: 06/02/2003, 21h56
  4. Générer du code HTML
    Par patpst dans le forum C++Builder
    Réponses: 4
    Dernier message: 27/11/2002, 10h27
  5. composant builder4 pour afficher du code html
    Par BranRuz dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/09/2002, 11h35

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