在重定向后获取例程期间回显文本区域中的新行和未转义的值


Echo new lines and unescaped values in textarea during Post Redirect Get routine

试图在 PRG 周期内用数据重新填充的文本区域中保持新行和未转义值不变。在什么时候正确分配变量以便识别新行?

我尝试过双引号,nl2brhtmlentitiesstripslashes但我似乎无法理解。一些尝试:

在初始 prg $_SESSION数组期间分配:

$_SESSION['prg']['textarea'] = "$textarea";

从 prg 数组传递到 var 时:

$textarea = htmlentities($_SESSION['prg']['textarea']); 

回显到文本区域时:

<textarea name="textarea"><?php if(isset($textarea)) echo nl2br($textarea); ?></textarea>

以及上述各种组合,包括最初的$_POST,消毒后直接。

另外,如果有人问:转义按预期工作,db 插入结果很好。只是重新填充的形式使事情变得混乱。

我敢肯定这只是业余时间的症状......只寻找php/html解决方案。提前谢谢。

如果您想在文本区域中正确显示换行符,我认为您在填充文本区域时不想调用nl2br。 不过htmlentities部分很好。

同时存储数据使用addslashes($_POST['textarea'])并显示使用stripslashes($textarea)