嗨,我将数据保存在第1页的文本区域,然后在第2页的div中显示。但是,如果我在文本区域中写入
A
B
C
D
它在div(第2页(中显示为
A B C D
如何保持换行符?
使用CSS属性white-space
接受'n
作为新行。
div {
white-space: pre;
}
JSFiddle
您可以使用以下代码:
function setVal() {
var content = document.getElementById('test').value;
document.getElementById('result').innerHTML = content.replace(/'n/g, '<br/>');
}
解释:基本上,需要使用<br/>
将'n
字符转换为等效的HTML换行符。
演示
您需要使用此函数nl2br((,请注意,在将其保存到数据库时不要使用nl2br
。在HTML中显示文本时使用它。
我会使用<pre>
标记,它用于第二页上的这种预格式化文本。
一个例子是:
<?
echo '<pre>'.$_POST['textarea'].'</pre>';
它保留了空格和换行符。
$textarea = strip_tags($_POST['textarea']);
echo '<textarea>'.nl2br($textarea).'</textarea>';
nl2br
=<br>
的新行,因此它将为每个回车插入<br><br>
。
在div中显示值时应该使用nl2br
在线演示
这是代码,以便您可以运行它进行检查。
<form>
<textarea name="message" rows="10" cols="50" placeholder="Enter your message here"><?=$_REQUEST['message']?></textarea><br>
<button name="submit" value="submit">Submit</button>
</form>
<h2>Your message will display here</h2>
<div><?=nl2br($_REQUEST['message'])?></div>
<h3>Always remember that don't store nl2br value in database.</h3>