PHP不会显示新行
我对从数据库中读取的文本有点问题。 在用户确认他们的新帖子后,它会像这样保存在数据库中(就像我希望它那样) 但在网页中,它会忽略这些行,只是呼出同一行上的所有内容 以下是我的一点源代码:PHP不会显示新行,php,mysql,process,Php,Mysql,Process,我对从数据库中读取的文本有点问题。 在用户确认他们的新帖子后,它会像这样保存在数据库中(就像我希望它那样) 但在网页中,它会忽略这些行,只是呼出同一行上的所有内容 以下是我的一点源代码: $objekttekst=str_replace("\\r\\n", "<br>", $obj->innhold); $objekttittel=$obj->tittel; ?> <h2><?=$objekttittel?></h
$objekttekst=str_replace("\\r\\n", "<br>", $obj->innhold);
$objekttittel=$obj->tittel;
?>
<h2><?=$objekttittel?></h2>
<p><?=$objekttekst?></p>
$objekttekst=str_replace(\\r\\n“,“
”,$obj->innhold);
$objekttittel=$obj->tittel;
?>
有人能帮我吗?感谢使用功能
$objekttekst=nl2br($obj->innhold);
输入文本区域是预格式化的,这意味着它将显示用户输入的任何换行符。但是,HTML呈现(web浏览器)不会显示输入中的任何换行符,除非换行符显式插入标签,如
这里有几个选项。当然,这三个选项不是你唯一的选择,但它们是我个人最常使用的选项
使用预格式化文本形成文本区域
如果要在类似的文本区域中显示数据(objekttekst),您可以执行以下操作:
<h2><?=$objekttittel?></h2>
<p><textarea><?=$objekttekst?></textarea></p>
在用户需要编辑条目的情况下,这最适合您
预格式化
如果要按原样显示文本,可以始终使用…
。这将显示任何换行符、缩进等。请注意,这将使输出使用固定宽度字体,如Courier New
将换行符转换为
标记
使用函数nl2br()
,如另一个答案中所述。有关更多信息,请参阅
附加说明…
您可能希望查看正则表达式,因为在许多情况下,您可能还希望在HTML页面中显示数据之前对数据进行一些其他修改
nl2br()
将处理换行符,但是对于其他更复杂的修改,您应该学习正则表达式。您可以用
<?php
$objekttekst=$obj->innhold
$objekttittel=$obj->tittel;
?>
<h2><?=$objekttittel?></h2>
<p><pre><?=$objekttekst?></pre></p>
“\\r\\n”
正在将\r\n
逐字替换为
,而不是\r\n
所代表的内容,因为您正在转义转义字符。