Hello Abdel,

J'ai pu faire un petit essai. C'est pour moi une très bonne base de départ. Je n'ai pas le temps de l'affiner d'ici demain soir, ça repousse la suite de l'histoire au moment de ma reprise du boulot la semaine prochaine. Entre autres choses que je devrai me faire: - Supprimer toute partie entre <head> et </head>, ainsi que les éléments de CSS ou je ne sais quoi, faut que je voie ça de plus près. - Remplacer les entités caractères, en tout cas un certain nombre comme &#8217; pour l'apostrophe, également le &nbsp; incontournable, etc.

Mais tout ça me semble à ma portée, si je parviens à revenir en forme au boulot lol.

Encore un grand merci pour ce coup de pouce.

J.-F.


Le 06/04/2017 22:47, Abdel a écrit :

Coucou JF,

En complément de la réponse de Math, si j'ai bien sûr biencompris ta
demande, je te suggère une solution.

Tu dis :

Je me souviens bien d'un message qui me nargue, et qui parle de Pandoc
pour dé-html-iser simplement un document... Je ne suis pas certain
malgré tout que ce soit tout à fait ce dont j'aurais besoin.

Ma réponse :

Pandoc pour dé-html-iser un document?

En fait, en matière de conversion de format, pandoc peut te permettre
2 chose sur du HTML :

 1. Convertir le document en un autre format;
 2. Si le fichier html a été généré avec Pandoc,retrouver le code du
    fichier md qui l'a généré, c'est le code que Math t'asenvoyé.



Remarque :

Pour la seconde conversion, tu peux même la faire sur des fichiers
html qui n'ont pas été générés avec Pandoc, maisle résultat sur le
fichier md généré ne permettra pas de reconstruire exactement le
document html de base.

Mais en lisant et relisant ton mail, sauf erreur de ma part, on dirait
que ces conversions ne sont pas vraiment ce que tu souhaites.

Si j'ai bien compris, tu souhaiterais pouvoir supprimer des balises
doubles, comme (p, h1, etc.), ou des balises uniques comme (<br />).

Tu souhaiterais avoir la possibilité de pouvoir décider toi-même
quelles seraient les balises que tu souhaiterais enlever, mais garder
le texte qu'elles contiennent, dans le cas des balises doubles.

Est-ce bien cela, où suis-je à côté des mes godasses lol?

Si c'est bien cela, au lieu d'utiliser des modules externes à Python,
comme le célèbre BeautifulSoup
<https://docs.python.org/3/library/html.parser.html>, html.parser
<http://apprendre-python.com/page-beautifulsoup-html-parser-python-library-xml>
, etc., je t'oriente plutôt vers les regexp, qui font très bience
travail.

Tu trouveras en PJ, un petit module 6pad++.py, avec une fonction
filterHTML, qui s'exécute par le raccourci-clavier CTRL+F10.

Après avoir collé le fichier 6pad++.py dans ton répertoireoù se situe
l'exécutable de 6pad++, ouvres 6pad++ puis, avec CTRL+O, ouvres un
fichier html que tu souhaiterais modifier.

La commande CTRL+F10 génèrera alors, dans le même répertoire, un
fichier filterHtml.html, avec les balises <p>, les balises de <h1> à
<h6>, ainsi que les balises <br /> qui auront été effacées, en
conservant le texte contenu dans les balises doubles bien entendu.

Je t'ai commenté le code, pour que tu puisses voir que grâce aux
regexp, tout est faisable, lol !

La regexp compilée rg capture les balises p et h1 à 6 ouvrante et
fermantes, mais tu pourras en ajouter si tu veux, selon les besoins,
en les mettant dans la ccapture \1, qui est aussi une référencearrière.

rg = re.compile(r'(?:(?i)<(h\d|p)>(.*?)(</\1>))', re.S)

La regexp rg1 matche les balises <br />.

rg1 = re.compile('<br.*>')

La regexp rg2 matche toutes les balises html, sans exception, au cas
où on en aurait besoin.

Elle a été mise en commentaire.

#rg2 = re.compile('<[^>]*>')

La regexp rg3 match tous les sauts de lignes, au cas où.

rg3 = re.compile(r'^\r\n', re.M)

Ensuite, viennent les rg.sub, rg1.sub, etc., qui vont exécuter les
remplacements...

Teste et dis-moi si c'est bien ce que tu voulais...

Merci à toi.

Bien amicalement,
Abdel.


Le 05/04/2017 à 22:20, Jean-François Colas a écrit :
Hello la ML,

Je me souviens bien d'un message qui me nargue, et qui parle de
Pandoc pour dé-html-iser simplement un document... Je ne suis pas
certain malgré tout que ce soit tout à fait ce dont j'aurais besoin.
Il me faudrait quelque chose capable de traiter tout, OU PARTIE, d'un
document.

Existerait-il alors peut-être quelque chose en Python qui pourrait me
permettre d'envisager la récupération du contenu des balises, tout en
me débarrassant des balises elles-mêmes, afin de faire un
dé-html-iseur sans prétention, hormis celle de se glisser dansdes
utilitaires personnels pour 6Pad? Si malgré tout je pouvais
discriminer certaines balises, pour autant que j'y songe rapidement,
<br> ou <p> ou peut-être les <h1> à <h6>, mais pas énormément au-delà.

Merci,
J.-F.


Progliste :
Pour se d�sinscrire de la liste :
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/

Je vous rappelle que les pi�ces jointe sont activ�s leurtaille est
limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en
priv�, je vous r�pondrez en priv�.





Progliste :
Pour se d�sinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/       

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je 
vous r�pondrez en priv�.
        
        

Répondre à