安全地从 textarea 中转义所有文本以存储在 HTML 属性中的最佳方法是什么?必须保留换行符。
使用.val()
是最好的选择,它不会让 textarea 内容脱离隐藏的 value 属性。使用本机 Javascript.value
也可以工作并且是安全的,.val()
它只是一个包装器。
如果用户再次打开模态框,我如何抓取存储在隐藏字段中的文本并将其原样放回 textarea 中,并加上换行符?
当模态打开时:
// #mytextarea = the textarea on the modal
// #myhidden = the hidden on the main page
$('#mytextarea').val($('#myhidden').val()); // set the modal textarea to the value of the hidden
当模态关闭或“保存”时:
$('#myhidden').val($('#mytextarea').val());
当用户提交表单时,如何再次规范化隐藏字段中的文本,以便可以使用原始表单或将其保存到数据库中,并带有换行符?
您无需执行任何操作来保留新行。使用 Prepared Statement 只需将原始 post 值保存到数据库中。当您在某处的页面上输出值时,您可以<br />
使用 PHP 的nl2br()
. 仅当您输出到输入值以外的任何内容时,才需要转换新行。也不要忘记运行它htmlspecialchars()
以防止 XSS。