Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je débute en ZF et je me retrouve confronté à un problème que je ne comprends pas avec les filters ...
Voici mon code :
<ul id="menu"> <?php $filtreURL = new Zend_Filter(); $filtreURL -> addFilter(new Zend_Filter_Alnum()); $filtreMenu = new Zend_Filter(); $filtreMenu -> addFilter(new Zend_Filter_StringToUpper()) -> addFilter(new Zend_Filter_HtmlEntities()); ?> <?php foreach($this -> menu as $menu) : ?> <li onclick="<?php echo $filtreURL -> filter($menu->titre); ?>"> <p> <a href="<?php echo $filtreURL -> filter($menu->titre); ?>"> <?php echo $filtreMenu -> filter($menu->titre); ?> </a> </p> </li> <?php endforeach; ?> </ul>
Et voici la liste de mes problèmes :
- Le filtre Alnum ne m'affiche rien du tout, comme si il me supprimmait tous mes caractères et pas seulement les accents.
- Le filtre HtmlEntities me retourne cette erreur "Warning: htmlentities() expects at most 3 parameters, 4 given in /usr/share/php/Zend/Filter/HtmlEntities.php on line 198"
Le filtre StringToUpper fonctionne impeccablement.
Si une bonne âme voulait bien m'expliquer ces problèmes qui me semblent incompréhensibles ... Je l'en remercie d'avance
edit : J'oubliais ! Alors que $this -> escape ($menu->titre) ne fonctionne pas non o*plus, alors qu'il fonctionne un peu plus haut dans ma page ...
Dernière modification par Smon (17-03-2010 17:49:54)
Hors ligne
je te conseil de lire ceci Zend_Filter
Moi aussi je les commencé hier mais pas fini de lire et fais attention avec htmlentities apparement c'est pas conseillé en tous cas aprés le validateur
Hors ligne
Je l'ai lu, mais ça ne m'aide pas beaucoup ... Je ne comprend toujours pas pourquoi ça ne fonctionne pas
Hors ligne
C'est quelle version ton ZF ??
Hors ligne
J'utilise la 1.10 ...
Je me suis rendu compte qu'en fait, Alnum ne supprimait pas que les caractères spéciaux, mais qu'il supprimait toute la chaîne (tant qu'à faire ).
Il existe un filtre sous Zend qui remplace les caractères spéciaux par leurs caractères "normaux" correspondants ? Genre remplacer é par e.
Le filter HtmlEntities est toujours à la ramasse ...
Hors ligne
\o/
Trouvé !
C'était un problème d'encodage. En précisant à PDO que j'utilise le charset UTF8, ça fonctionne.
Hors ligne
Pages: 1