iGalerie

Vous n'êtes pas identifié(e).

#1 13-06-2014 19:53:54

ThierryH
Membre
Inscription : 08-06-2014
Messages : 7

problème avec html entity (dont €) [résolu]

Bonjour
Dans une nouvelle page, je peux sans souci mettre mon propre code HTML.

Cependant, les valeurs de type f ou %66%72%65%64%2E s'affichent en l'état dans la page
au lieu d'afficher les caractères attendus.
Par exemple, € devrait afficher (le symbole Euro) et non pas €

J'ai remarqué que quand j'enregistre la page, € est remplacé automatiquement lors de l'enregistrement de la page par €
Y a t-il un moyen pour l'éviter ? afin de pouvoir utiliser tous les HTML Entity souhaités.

Dernière modification par ThierryH (16-06-2014 19:29:23)

Hors ligne

#2 15-06-2014 11:57:57

David
Développeur d'iGalerie
Inscription : 12-05-2006
Messages : 3 977
Site Web

Re : problème avec html entity (dont €) [résolu]

Salut,

Avec la version 2.3.4, essayes en remplaçant la ligne 1211 du fichier includes/classes/utils.class.php :

self::htmlspecialchars($str);

par celle-ci :

self::htmlspecialchars($str, FALSE);

ainsi que la méthode htmlspecialchars dans le même fichier, à partir de la ligne 744 :

/**
 * Applique la fonction htmlspecialchars à une chaîne
 * ou aux valeurs d'un tableau.
 *
 * @param array|string $s
 * @return void
 */
public static function htmlspecialchars(&$s)
{
    if (is_string($s))
    {
        $s = defined('ENT_DISALLOWED')
            ? htmlspecialchars($s, ENT_DISALLOWED | ENT_QUOTES, 'UTF-8')
            : htmlspecialchars($s, ENT_QUOTES, 'UTF-8');
    }
    else if (is_array($s))
    {
        array_walk($s, array('utils', 'htmlspecialchars'));
    }
}

par celle-ci :

/**
 * Applique la fonction htmlspecialchars à une chaîne
 * ou aux valeurs d'un tableau.
 *
 * @param array|string $s
 * @param boolean $double_encode
 * @return void
 */
public static function htmlspecialchars(&$s, $double_encode = TRUE)
{
    if (is_string($s))
    {
        $s = defined('ENT_DISALLOWED')
            ? htmlspecialchars($s, ENT_DISALLOWED | ENT_QUOTES, 'UTF-8', $double_encode)
            : htmlspecialchars($s, ENT_QUOTES, 'UTF-8', $double_encode);
    }
    else if (is_array($s))
    {
        array_walk($s, array('utils', 'htmlspecialchars'));
    }
}

Hors ligne

#3 15-06-2014 13:00:19

ThierryH
Membre
Inscription : 08-06-2014
Messages : 7

Re : problème avec html entity (dont €) [résolu]

Merci David. Je vais regarder cela de suite.

Sinon, je crois qu'il y a une autre alternative. C'est d'utiliser un fichier externe (stocké dans /files/pages/).
Dans ce répertoire /files/pages/, je crois savoir que seul les fichiers avec l'extension PHP sont supportés. Confirmes-tu ?

Dans ce fichier PHP, que peut-on y mettre, et ne pas mettre ?
Je n'ai pas trouvé de documentation détaillé sur ces fichiers externes supportés par igalerie.

Hors ligne

#4 16-06-2014 15:59:38

David
Développeur d'iGalerie
Inscription : 12-05-2006
Messages : 3 977
Site Web

Re : problème avec html entity (dont €) [résolu]

ThierryH a écrit :

Dans ce répertoire /files/pages/, je crois savoir que seul les fichiers avec l'extension PHP sont supportés. Confirmes-tu ?

Oui c'est ça.


ThierryH a écrit :

Dans ce fichier PHP, que peut-on y mettre, et ne pas mettre ?
Je n'ai pas trouvé de documentation détaillé sur ces fichiers externes supportés par igalerie.

Tu peux mettre tout ce que tu veux, il n'y a pas de filtrage ni de limite.

Hors ligne

Pied de page des forums