IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

htmlentities(), comment utiliser les anciennes valeur par défaut ?


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Points : 470
    Points
    470
    Par défaut htmlentities(), comment utiliser les anciennes valeur par défaut ?
    Bonjour,

    Comme vous le savez tous, les paramètres par défaut de htmlentities() ont changé avec la version 5.4 de PHP. Misère donc pour les malheureux qui ont à maintenir d'anciens codes dans lesquels sont utilisés des htmlentities où les paramètres N°2 et 3 n'ont pas été spécifiés en dur.

    C'est précisément mon cas.

    Est-il possible (et le cas échéant comment) de re-modifier ces valeurs par défaut pour revenir à au ENT_HTML401 et ISO-8859-15 ? Mieux, est-il possible de spécifier ça par une fonction genre ini_set, de façon à pouvoir faire co-exister des projets anciens avec des plus récent sur un même serveur sans avoir à traquer tous les htmlentities du code ?

    En vous remerciant.

  2. #2
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Points : 135
    Points
    135
    Par défaut
    J'ai trois pistes à te proposer:

    1] Module PECL apd
    Ce module inclus une fonction override_function() (http://fr.php.net/manual/fr/function...e-function.php)
    avec laquelle tu pourrais réécrire la fonction htmlentities (pour qu'elle prenne les valeurs par défaut que tu souhaite).

    2] Recompiler un php perso
    Mais la j'y connais pas grand chose, c'est juste que je pense que ça peut être une solution. Je suppose que si tu trouve la fonction htmlentities dans les sources de php, tu dois pouvoir mètre les valeurs par défaut que tu veux.


    Mais bon, dans ces deux cas c'est assez peu portable, et ça risque d'être prise de tête le jour ou tu change de serveur ou d’environnement.
    Je pense que le mieux (malheureusement) c'est de réécrire correctement toute les fonctions htmlentities de ton code.


    3] Script de réécriture de ton php:
    Tu peux éventuellement te faire un script à base de regex qui le ferait tout seul. Selon le nombre de site sur lesquels tu dois repasser, ça peut être un gros gain de temps;
    Un truc qui lirait tout tes fichiers php et dans lequel tu remplace '\htmlentities\(['|"]([^'"])['|"]\)\' par 'htmlentities($1, DEFAUT_VAL)' dans ces fichiers. (fait à l’arrache, hein, mais l'idée est là ^^)


    Voila, Bonne chance

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Crée une fonction qui encapsule htmlentities avec les anciennes valeurs par défaut. Mets-le dans un fichier inclus partout.

    Fais un chercher/remplacer global pour remplacer htmlentities avec ta nouvelle fonction.

Discussions similaires

  1. [2005] Comment définir d'autres valeurs par défaut
    Par soazig dans le forum SSRS
    Réponses: 5
    Dernier message: 19/12/2011, 10h33
  2. [XSD] Utiliser valeur par défaut du XSD pour les éléments facultatifs
    Par littlesquall dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 04/11/2011, 18h05
  3. Comment obtenir la bonne valeur par défaut?
    Par Xtrem_Voyageur dans le forum C++
    Réponses: 6
    Dernier message: 25/10/2011, 00h09
  4. [8] Utiliser séquence comme valeur par défaut
    Par after310 dans le forum PL/SQL
    Réponses: 2
    Dernier message: 08/12/2008, 15h15
  5. [SQL-SERVER] Utilisation de DEFAULT (valeur par défaut)
    Par Sytchev3 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 27/03/2006, 18h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo