Le markdown n'est certes pas très loin du text brut, mais je souhaite pouvoir obtenir une version tout à fait dépouillée de toute marque de formatage, du moins, les plus communes, y compris les tableaux (GitHub Flavored Markdown). L'objectif est d'obtenir un contenu qui soit adapté pour une recherche de texte. Quelques autres contraintes : seul le texte visible doit être pris en compte, tous les retours à la ligne non significatifs doivent être supprimés, chaque cellule de tableau doit être sur une ligne, idem pour chaque entrée de liste (ordonnée ou non) et débarassée de son marquage.
Je n'ai guère trouvé de solution prête à l'emploi pour PHP.
Il y a UnMarkdown, qui semble plus ou moins poursuivre cet objectif mais pas tout à fait : il préserve les retours à la ligne, il préserve certaines marques (les numéros pour les listes ordonnées), intègre l'URL des liens et le texte alternatif des images, rajoute des "préfixes" à certains éléments (lien, commentaire, puce) même si ce point se configure, et je n'ai pas l'impression qu'il prenne en compte les tableaux.
J'ai également songé à partir du HTML généré, puis en parcourant le DOM n'extraire que le texte, mais je ne trouve pas ça très optimal (même si pour l'usage que j'en aurais c'est tout à fait admissible).
Reste à faire un script "maison", j'ai trouvé une base dopée à ChatGPT sur une discussion, mais elle est en réalité complètement bancale : elle supprime une partie du formatage (même lorsque ça n'en n'est pas vraiment), mais surtout, elle supprime aussi le contenu formaté… En faisant des preg_replace plus propres, y'a peut-être moyen d'arriver à quelque chose de correct, mais bon si quelque chose existe déjà, ça m'évitera d'y passer trop de temps.
Je n'ai guère trouvé de solution prête à l'emploi pour PHP.
Il y a UnMarkdown, qui semble plus ou moins poursuivre cet objectif mais pas tout à fait : il préserve les retours à la ligne, il préserve certaines marques (les numéros pour les listes ordonnées), intègre l'URL des liens et le texte alternatif des images, rajoute des "préfixes" à certains éléments (lien, commentaire, puce) même si ce point se configure, et je n'ai pas l'impression qu'il prenne en compte les tableaux.
J'ai également songé à partir du HTML généré, puis en parcourant le DOM n'extraire que le texte, mais je ne trouve pas ça très optimal (même si pour l'usage que j'en aurais c'est tout à fait admissible).
Reste à faire un script "maison", j'ai trouvé une base dopée à ChatGPT sur une discussion, mais elle est en réalité complètement bancale : elle supprime une partie du formatage (même lorsque ça n'en n'est pas vraiment), mais surtout, elle supprime aussi le contenu formaté… En faisant des preg_replace plus propres, y'a peut-être moyen d'arriver à quelque chose de correct, mais bon si quelque chose existe déjà, ça m'évitera d'y passer trop de temps.