{ NULL, NULL }
};
+/* check element */
int check_element (char *str, char **glyph)
{
nchar_t *pt = elements;
return 0;
}
+/* check hexa character */
+int is_hexa (char c)
+{
+ int ret = -1;
+ if ((c >= '0') && (c <= '9')) {
+ ret = c - '0';
+ } else if ((c >= 'A') && (c <= 'F')) {
+ ret = 10 + c - 'A';
+ } else if ((c >= 'a') && (c <= 'f')) {
+ ret = 10 + c - 'a';
+ }
+ return ret;
+}
+
+/* check code */
+int check_code (char *str, char *out)
+{
+ int i = 0, l = 0;
+ while (str[i] != ';') {
+ int v = 0;
+ if ((str[i] == '\0') || ((v = is_hexa(str[i])) < 0)) {
+ *out = '\0';
+ return 0;
+ }
+
+ out[l] = (out[l] << 4) + v;
+ if (i % 2 == 1) {
+ if (out[l] != 0) {
+ l++;
+ }
+ }
+ i++;
+ }
+ return i + 1;
+}
+
/* vim: set ts=4 sw=4 et: */
int check_element (char *str, char **glyph);
+int check_code (char *str, char *out);
+
#endif /* __ELEMENT_H__ */
/* vim: set ts=4 sw=4 et: */
while ((*pt) && (*pt != '>')) pt++;
break;
case '&':
- pt += check_element (pt + 1, &glyph);
+ if (pt[1] == '#') {
+ pt += 1 + check_code (pt + 2, out);
+ if (*out != '\0') {
+ glyph = out;
+ }
+ } else {
+ pt += check_element (pt + 1, &glyph);
+ }
if (glyph) {
- strcpy (out, glyph);
+ if (glyph != out) {
+ strcpy (out, glyph);
+ }
} else {
strncpy (out, pt, 1);
}
/* test: html2txt.exe -i 2>&1 | grep missing */
/* test: html2txt.exe -v 2>&1 | grep missing */
/* test: html2txt.exe -i foobar 2>&1 | grep "can't open file" */
+/* test: echo '<b>foo</b>b<p class="main">a</p>r' | html2txt.exe | grep '^foobar$' */
+/* test: echo 'ff;F;>=r' | html2txt.exe | grep '^foobar$' */
/* test: html2txt.exe -i test.html >/dev/null */
-/* test: cat test.html | html2txt.exe >/dev/null */
/* vim: set ts=4 sw=4 et: */
data-state="fixed-height"
data-selection="disabled"
>
-
+
<p>Le week-end dernier, les parquets ont résonné au rythme des encouragements et des premiers véritables défis de la saison pour nos équipes de jeunes. Après des semaines d’entraînement et de préparation physique, l’heure était enfin venue de revêtir le maillot du PNH et de croiser le fer avec les adversaires du championnat.</p><!-- Pub DFP Position [outstream] -->
<div class="ad ad--outstream center-align"
id="pub_dfp_outstream"
data-iab-tag="pos_outstream"></div>
<p>Les -11 garçons recevaient Tarbes et s’imposent sur le score de 21 à 8. Les deux équipes -11 filles étaient sur les parquets : l’équipe bleue l’emporte 22 à 2 contre Bagnères-de-Bigorre, tandis que l’équipe noire bat Escoubès 35 à 3. Bravo les filles ! Les -13 garçons n’ont rien pu faire face aux voisins de Tournay, qui s’imposent 45 à 32, au terme d’une rencontre offensive. Les -13 filles s’imposent face aux Béarnaises d’Asson, un club de référence, sur le score de 29 à 12. Les -15 garçons s’inclinent face à Rabastens-de-Bigorre, 46 à 21. Les -15 filles de la une l’emportent sur forfait de Comminges ; la deux s’impose face à Saint-Girons, 41 à 30.</p><!-- Pub DFP Position [article] -->
-
+
<div class="ad ad--article center-align"
id="pub_dfp_article"
data-iab-tag="pos_article"></div>
<p>Les -18 garçons ont souffert sur le parquet de Colomiers : il aura tout fallu pour l’emporter 36 à 34. Les -18 filles font match nul, 19 à 19, face à Pamiers.</p><p>Le staff technique et les encadrants saluent l’implication de l’ensemble des joueuses et joueurs, qui portent haut les couleurs et les valeurs du club. De quoi aborder la suite de la saison avec le sourire et une belle dose de confiance !</p><p>L’équipe deux seniors filles s’incline face à Pamiers de deux petits buts, 29 à 27. La une filles n’a laissé aucune chance à Muret, avec une large victoire 36 à 25, importante pour la suite du championnat. La deux des seniors garçons recevait L’Union Toulouse au gymnase de Lannemezan : victoire importante 28 à 19 dans l’optique du maintien en Excellence régionale. La une accueillait Blagnac pour essayer de faire un 3 sur 3 : belle victoire des joueurs du plateau, 40 à 27.</p><p>Un week-end riche en émotions qui confirme le dynamisme et la vitalité de la formation au sein du PNH.</p>
-
+<p>Test characters: ) f; = F; &#D0A4;</p>
</div>