嗨,我有这个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',
));
我该如何解决这个问题?
答案 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