我觉得有点愚蠢的问这个,但我已经测试了我想到的一切,试着解决这个问题,但没有任何效果。我正在调用一个函数echo,如下面的代码所示:
echo showInfos($ uid,$ con);
好的,showInfos函数是这样的:
function showInfos($uid, $con)
{
$ret = '';
$query = "SELECT Name, ProcName, ByteType, InsertTime FROM tableInfos WHERE uid = '" . mysql_real_escape_string($uid, $con) . "'";
$res = mysql_query($query, $con);
if($res)
{
while($row = mysql_fetch_array($res))
{
$ret .= '----New Track Data ::'."\r\n".'..ProcName:'.$row['ProcName']."\r\n";
}
}
return $ret;
}
正如你所看到的,我在回归中添加了“\ r \ n”......但由于某些未知原因,我的浏览器仍以这种方式显示所有内容:
---- New Track Data :: ..ProcName:notepad.exe ---- New Track Data :: ..ProcName:notepad.exe ---- New Track Data :: ..ProcName:notepad。 exe文件
我认为应该是这样的:
---- New Track Data ::
.. PROCNAME:Notepad.exe的
---- New Track Data ::
.. PROCNAME:Notepad.exe的
发生了什么事? 感谢关注!
答案 0 :(得分:7)
因为\ r和\ n被浏览器视为空格。如果您想在浏览器中创建换行符,则需要使用<br />
之类的HTML元素。
答案 1 :(得分:2)
你正在回应那些浏览器忽略的空白。浏览器需要标签来格式化文本,因此您需要将空白换行符转换为html标记,在PHP中<br />
,您可以使用nl2br()
函数。
echo nl2br("test line 1\ntest line 2");
答案 2 :(得分:1)
就像所有人都说的那样,HTML中的换行符需要<br/>
个标记。
或者 ,如果您想共享一个预先格式化的文本块,如程序代码或调试输出,您也可以将该块包装在<pre> </pre>
标签中并且浏览器会尊重您的空白。