2010-11-29 8 views
6

Je maintiens un tableau d'affichage qui enregistre des messages texte enrichi en HTML. Maintenant, j'ai besoin de migrer tous ces messages dans le tableau d'affichage Joomla Kunena qui nécessite une représentation BBCode de HTML.Comment faire pour convertir HTML en BBCode

Existe-t-il une bibliothèque permettant de convertir proprement HTML en BBCode? Il y a beaucoup de scripts pour BBCode to HTML mais pas l'inverse.

Merci ...

Répondre

7

Il devrait être faisable avec XSLT en mode de sortie texte:

<xsl:output method="text"> 
… 
<xsl:template match="b|strong">[b]<xsl:apply-templates/>[/b]</xsl:template> 
<xsl:template match="br">&#10;</xsl:template> 
<xsl:template match="p">&#10;<xsl:apply-templates/>&#10;</xsl:template> 
<xsl:template match="a">[url="<xls:value-of select="@href"/>"]<xsl:apply-templates/>[/url]</xsl:template> 
<xsl:template match="text()"><x:value-of select="normalize-space(.)"/></xsl:template> 

Pour y arriver parse HTML et l'utilisation built-in XSLT processor.

0

Je vous recommande d'utiliser des expressions régulières pour convertir <b> en étiquettes [b]. Cela ne devrait pas être si difficile, car tout ce dont vous avez besoin est d'obtenir le code HTML et de l'introduire dans un script php qui pourrait l'enregistrer dans un fichier que vous pouvez enregistrer dans votre nouveau forum.

Espoir qui aide, RayQuang

+1

Oui, c'est ce que je pensais comme un dernier recours. Écrire mon script de conversion d'expression régulière. Je demandais s'il y a une bibliothèque que nous faisons déjà très proprement. – mevdiven

Questions connexes