| Auteur | |
|---|---|
| GxiGloN | # 02 Mar 2010 - 12:49:43 |
| 10 Posts |
Bonjour tout le monde. J'essaie de récupérer le contenu de flux RSS externes, pour le mettre sur mon site. Je parse ces flux avec une feuille de style XSL. Mon problème est que dans certaines description que je récupère, apparaissent des balises HTML et je m'arrache les cheveux pour parvenir à les enlever. Exemple : Je récupère : Ce qui m'affiche : Or je ne voudrais que : J'ai essayé plusieurs fonctions XPATH, mais je n'arrive jamais au bon résultat, étant donné que la position du balisage HTML varie selon les flux. Merci par avance pour toute personne qui m'apportera son aide |
| GxiGloN | # 03 Mar 2010 - 01:42:53 |
| 10 Posts |
Après d'avantages de recherches et moultes essaies, je suis parvenu à trouver une solution satisfaisante : Déclarer un template ... <xsl:template name="strip-tags"> <xsl:param name="text"/> <xsl:choose> <xsl:when test="contains($text, '<')"> <!-- Pour les balises --> <xsl:value-of select="substring-before($text, '<')"/> <xsl:call-template name="strip-tags"> <xsl:with-param name="text" select="substring-after($text, '>')"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <!-- Sinon on affiche le texte --> <xsl:value-of select="$text"/> </xsl:otherwise> </xsl:choose> </xsl:template> ... et l'utiliser comme suit : <xsl:call-template name="strip-tags"> <xsl:with-param name="text" select="description"/> </xsl:call-template> Si ça peut aider quelqu'un... |
| jo_link_noir | # 03 Mar 2010 - 02:01:30 |
| 298 Posts |
Salut, j'ai fait 2 templates, une quand le texte est entre <![CDATA[ et ]]> et l'autre sans. |
|
|