2

我有一个页面可以将条目添加到几年前创建的日志中。但是,在此页面的评论部分中,每次您按 Enter 时都会添加一个额外的行。

例如,如果我输入这个并将其添加到日志中:

TEST 1                                        
TEST 2        
TEST 3

它会显示为:

TEST 1

TEST 2

TEST 3

我在大型 php 文件中找到了评论部分,想知道如何编辑它以消除此问题?任何帮助将不胜感激。谢谢。

PHP代码:

  <tr><td colspan='3'>&nbsp;</td></tr>
  <tr><td class="master-menu"><div class='mar'>*Comments:</div><TEXTAREA rows='5' cols='30' NAME='notes' onkeypress="return beta (event,letters+numbers+signs+custom)"><?php echo $notes; ?></textarea></div>

出现 $NOTES 的 PHP 代码:

   echo “&lt;input name =’defaultcomm’ type =’hidden’  value =’$notes’&gt;”;
   $headnotes = $notes;
   $notes = str_replace(“\\”,””,$getrow[‘Notes’]);
   $notes = str_replace(“'”,”’”,$notes);
   $notes = ereg_replace(“[\n\r]+”,”\n”,$notes);
4

2 回答 2

2
$notes = ereg_replace(“[\n\r]+”,”\n”,$notes);

这行代码创建了两个换行符,因为您将 /n 和 /r 都替换为 /n,您正在打印的行最后可能各有一个。导致你的双换行符

ereg_replace现在根据文档已弃用,您可以尝试str_replace("\s\s", "\n", $notes)

编辑最终答案是这样的:

$notes = trim(preg_replace('/\r\r+/', '<br>', $sqlresult['Notes']));
于 2013-07-08T17:29:07.313 回答
0

重新开始这个答案,因为其他信息没有解决。

我想知道这是否与那里的 Windows 样式引号有关。尝试复制并粘贴以下代码来代替看起来相同的现有代码:

echo "<input name ='defaultcomm' type ='hidden'  value ='$notes'>";
$headnotes = $notes;
$notes = str_replace("\\","",$getrow['Notes']);
$notes = str_replace("'","'",$notes);
$notes = ereg_replace("[\n\r]+","\n",$notes);

然后让我知道你是否得到同样的东西,或者一个新的错误。

于 2013-07-08T17:34:45.353 回答