Symfony1 Symfony不会在bind()之后用大字符串填充表单

Symfony1 Symfony不会在bind()之后用大字符串填充表单,symfony1,symfony-1.4,Symfony1,Symfony 1.4,我在提交后试图覆盖表单字段的值时遇到问题。目前,表单包括一个文本区和文件上传输入,但只使用一个。如果用户上传一个文件,它将被解析为文本。我想在页面重新加载时使用从文件解析的数据作为textare的值,而不是文本框中的值(空)。绑定后才能确定内容 我所做的只是再次绑定数据,以便在解析文档后手动设置textarea的值。如果我为值硬编码一个值,效果会很好,但是当我使用文件的全部内容时,文本区域中没有任何内容。没有某种长度限制或可能干扰人口的东西,是吗?我尝试过短字符串,它们工作得很好,但这些文件的长

我在提交后试图覆盖表单字段的值时遇到问题。目前,表单包括一个文本区和文件上传输入,但只使用一个。如果用户上传一个文件,它将被解析为文本。我想在页面重新加载时使用从文件解析的数据作为textare的值,而不是文本框中的值(空)。绑定后才能确定内容

我所做的只是再次绑定数据,以便在解析文档后手动设置textarea的值。如果我为值硬编码一个值,效果会很好,但是当我使用文件的全部内容时,文本区域中没有任何内容。没有某种长度限制或可能干扰人口的东西,是吗?我尝试过短字符串,它们工作得很好,但这些文件的长度约为4k,无法在文本区域填充

工作

不起作用,即使实际正在设置值文本

$this->form->bind(array('text'=>$largeString), $request->getFiles('profile_generate') );
修正: 我想Symfony用于从bind()值填充字段的任何函数都存在非标准字符问题。不幸的是,它没有抱怨,也没有透露问题的真相。清理数据后,它工作正常

$largeString = preg_replace('/[^(\x20-\x7F)\x0A]+/',' ', $largeString);
$this->form->bind(array('text'=>$largeString), $request->getFiles('profile_generate') );
$largeString = preg_replace('/[^(\x20-\x7F)\x0A]+/',' ', $largeString);
$this->form->bind(array('text'=>$largeString), $request->getFiles('profile_generate') );