Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
bonjour,
pourquoi lorsque je récupère le contenu d'un article html qui se trouve dans la base de données, tous les signes html sont échapé ? Comment puis faire pour que le html soit interprété ?
Merci
Hors ligne
Hum... ils ne sont pas échappés par défaut. Est-ce que tu peux préciser un peu le contexte ?
perso j'ai parfois du HTML non échappé dans ma base et je le restitue tel quel sans problème.
A+, Philippe
Hors ligne
j'utilise
<?php echo $this->escape($this->contents->content);?>
dans le champs "content" de ma base j'ai ceci:
<h3>titre blabla</h3> <a href="/">Lien 1</a> ou <a href="/">Lien 2</a>
lors de l'affichage de ma page html j'ai:
<h3>titre blabla</h3><a href="/">Lien 1</a> ou<a href="/">Lien 2</a>
et dans le code source de ma page html affichée:
<h3>titre blabla</h3> <a href="/">Lien 1</a> ou <a href="/">Lien 2</a>
Dernière modification par gforce (12-09-2007 15:53:33)
Hors ligne
J'utilise pas Zend_View, mais je parierais bien sur le $this->escape...
Tu peux essayer de faire
<?php echo $this->contents->content;?>
A+, Philippe
Hors ligne
^^ j'vaoa seffacer le escape() mais j'avais laissé son this alors ça ne fesait rien. Mais c'était bien ça, Merci.
Et pourquoi n'utilise tu pas le viewer?
Hors ligne
J'utilise smarty. J'ai défini mon propre viewer pour qu'il fonctionne avec smarty derrière.
Après pourquoi smarty ? je trouve que ça sépare mieux le graphisme et le code. Quand on bosse avec des graphistes, ça nous simplifie la vie. Cela dit, j'ai l'impression que c'est beaucoup une question de goût...
A+, Philippe
Hors ligne
Je me suis rendu compte que Zend_View échappe par défaut. tu peux, lors de l'iniitialisation de Zend_View dans ton index.php mettre Zend_View:
$view = new Zend_View(); $view->setEscape('trim'); // par défaut la valeur pour escape est htmlentities
Ainsi tu peux toujours utiliser escape()
Dernière modification par lesauf (17-12-2007 09:49:54)
Hors ligne