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

Bibliothèques et frameworks PHP Discussion :

[FPDF] htmlspecialchars_decode() qui ne fonctionne pas


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 73
    Par défaut [FPDF] htmlspecialchars_decode() qui ne fonctionne pas
    Bonjour à tous, j'ai un petit problème avec le décodage de valeur html sur un fpdf.

    Je veux récupérer des valeurs d'une table (mysql), mais ces valeurs ont été traité avant l'envoi dans la table avec notamment htmlspecialchars($val, ENT_QUOTES);
    ce qui me donne des choses comme ca : "place de l'église" où le guillemet simple change de valeur.

    Logiquement on utilise un htmlspecialchars_decode() pour décoder la valeur html.

    Ci dessous une partie du code fpdf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    foreach ($requete_client as $a)
    			{
    				$adr = htmlspecialchars_decode($a['Cli_adr']);
     
    			}
    ...
    $this->Cell($w[3],5,$adr,'LR',0,'C');
    Ce que je reçois est "place de l'église".

    J'ai essayé d'afficher dans la génération du pdf la variable $adr, qui s'affiche correctement (et génère l'erreur du pdf normal), elle s'affiche normalement et n'a pas besoin de "htmlspecialchars_decode", c'est à dire que sans utilisé cette méthode elle s'affiche correctement (alors qu'elle est en crypté dans la base de donnée).

    J'en appel à votre savoir, car je sèche totalement.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 73
    Par défaut
    Le FPDF ne permet pas de changer des valeurs avec htmlspecialchars_decode(), il faut utilisé un preg_replace();

    Si dessus une fonction qui va agir comme htmlspecialchars_decode() à condition de le compléter.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    function changeHtmlJs($val){
    $search = array ('@<script[^>]*?>.*?</script>@si', // Supprime le javascript
                     '@<[\/\!]*?[^<>]*?>@si',          // Supprime les balises HTML
                     '@([\r\n])[\s]+@',                // Supprime les espaces
                     '@&(quot|#34);@i',                // Remplace les entités HTML
                     '@&(amp|#38);@i',
                     '@&(lt|#60);@i',
                     '@&(gt|#62);@i',
                     '@&(nbsp|#160);@i',
                     '@&(iexcl|#161);@i',
                     '@&(cent|#162);@i',
                     '@&(pound|#163);@i',
                     '@&(copy|#169);@i',
    				 '@'@i',
    				 '@�@i'
    				 );                    // Evaluation comme PHP
     
    $replace = array ('',
                     '',
                     '\1',
                     '"',
                     '&',
                     '<',
                      '>',
                   ' ',
                   chr(161),
                   chr(162),
                   chr(163),
                   chr(169),
    			   chr(39),
    			   chr(233)
    			   );
     
    $val = preg_replace($search, $replace, $val);
    return $val;
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Code qui ne fonctionne pas sur Mac
    Par malbaladejo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/01/2005, 12h08
  2. [SQL] Requête à jointure qui ne fonctionne pas
    Par Bensor dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/12/2004, 17h10
  3. Jointure externe qui ne fonctionne pas
    Par Guizz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/02/2004, 13h26
  4. CREATEFILEMAPPING qui ne fonctionne pas???
    Par Jasmine dans le forum MFC
    Réponses: 2
    Dernier message: 06/01/2004, 20h33
  5. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 11h04

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