Je me demande si c'est possible.Utilisez HtmlAgilityPack pour diviser un document
je html comme ceci:
<p>
<font face="Georgia">
<b>History</b><br> <br>Two of the polysaccharides used in the manufacture of...</font>
<a title="PubMed" href="http://www.www.gov/pubmed/" target="_blank">
<font face="Georgia">) and this web site for new development by...well as Self Affirmed Medical Food GRAS status.
</font>
</p>
<p>
<font face="Georgia">[READMORE]</font>
</p>
<p><font face="Georgia"><br><strong>Proprietary Composition</strong><br>
<br>The method in which soluble fibres are made into... REST OF ARTICLE...
</p>
Oui, il est laid html et il vient d'un WYSIWYG j'ai donc peu de contrôle sur elle.
Ce que je veux faire est de rechercher [READMORE] dans le document, supprimer toutes les balises parent (dans ce cas, le <font>
et les <p>
balises) et les remplacer par un lien de readmore tout en enveloppant le reste du document dans un géant `... reste de l'article ...
Je suis assez sûr que le HtmlAgilityPack m'aura une partie du chemin, mais j'essaie juste de comprendre par où commencer.
Jusqu'à présent, je suis assez sûr que je dois utiliser htmlDoc.DocumentNode.SelectSingleNode(//p[text()="[READMORE]"])
ou quelque chose. Je ne suis pas trop familier avec XPATH.
Pour mes documents, le readmore peut ou non figurer dans une balise font
imbriquée.
De même, dans certains cas, il peut ne pas être du tout une étiquette, mais plutôt à la racine du document. Je peux juste faire une recherche régulière et remplacer dans ce cas et il devrait être simple.
Ma situation idéale serait quelque chose comme ça (pseudocode)
var node = SelectNodeContaining("[READMORE]").
node.Replace("link here");
node.RestOfDocument().Wrap("<div class='wrapper'");
Je sais, je rêve ... mais j'espère que cela est logique.
Avez-vous envisagé de le faire côté client avant l'envoi de la sortie WYSIWYG? –
Ceci est le plus facilement accompli avec XSLT. ajoutez la balise "xslt" et vous obtiendrez de nombreuses bonnes réponses presque instantanément. –
@Dimitre. Merci pour le conseil. Terminé. – Armstrongest