如果设置为:
,则将多行会话字符串回显到textarea中。<textarea><?php if (isset($_SESSION['saved_text'])) { echo nl2br($_SESSION['saved_text']); } ?></textarea>
等:
"Line 1
Line 2
Line 3"
当它回显会话到文本区域时它返回:
"Line 1rnLine 2rnLine 3"
但是我想要它在字符串中的格式,使用换行符,但不显式地将它们显示为"n"等。我该怎么做呢?
您不需要nl2br
来在textarea中显示新行。
<textarea><?php if (isset($_SESSION['saved_text'])) { echo $_SESSION['saved_text']; } ?></textarea>
这将工作。如果文本包含一些特殊字符,也可以使用htmlspecialchars()
:
<textarea><?php if (isset($_SESSION['saved_text'])) { echo htmlspecialchars($_SESSION['saved_text']); } ?></textarea>
似乎rn
在保存在DB之前已经被转义了,现在它们只是文本的字符,因此要删除它们,您需要将它们作为字符删除,您可以使用str_ireplace()
用于此
<textarea><?php if (isset($_SESSION['saved_text'])) { echo str_ireplace("\r\n", "rn", $_SESSION['saved_text']); } ?></textarea>