Zend Framework奇怪的内容

时间:2012-10-09 11:44:00

标签: php zend-framework zend-form

嗨,我有这个Zend_Form,它的价值会发生变化 表单中的输入文本会被修改,例如:
而不是文字It's a great day我得到It\'s a great day

我用

$name = new Zend_Form_Element_Text('name');
$name->setRequired(true);
$name->setFilters(array('StringTrim', 'StripTags'));
$name->setDecorators(array(
    'Errors',
    'viewHelper',
));

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

这是因为您的PHP使用魔术引用。

检查get_magic_quotes_gpc()是否返回TRUE。如果是,那么GET和POST请求数据中的\ ' " &个字符将被\转义。

要反击您必须使用其他过滤器功能,例如stripslashes(),或者按照此示例在Zend Framework中正确执行此操作: http://blog.philipbrown.id.au/2008/10/zend-framework-forms-and-magic_quotes_gpc/

//附录:

在本地计算机上,您可以执行 Sudhir 在其答案中解释的内容,但在共享主机上可能无法实现,除非您有权访问php.ini文件或加载了PHP作为Apache模块(mod_php / mod_php5)

答案 1 :(得分:1)

检查 php.ini 文件并查找名为 magic_quotes_gpc 的设置并将其设置为关闭。您也可以通过 .htaccess 文件将其设置为

php_value magic_quotes_gpc off