php换行问题

Mar*_*ric 0 php newline

我有这个代码

if($hgroup['groupid'] == $row_groups['groupid']){
  $problem++;
  $hostname=DBfetch($cursor_gethost_again);
  $replace_macro=array('/{HOSTNAME}/','/{HOST.NAME}/');
  $problem_text=$problem_text.$trigger['description'];
  $problem_text=preg_replace($replace_macro,$hostname['name'],$problem_text);
  $problem_text=$problem_text."\r\n";
}
Run Code Online (Sandbox Code Playgroud)

它是一个循环生成的代码.任何人都可以帮助我如何制作那个愚蠢的换行符吗?我必须这样做,因为我正在修改一个代码.所以我想保持这种布局.
它不起作用.它会用文字打印出来.我也尝试preg_replace <br />.

ema*_*tel 5

如果您正在尝试打印HTML,则新行不会使用,\r\n而是通过追加<br/>.

在评论中,您确认您尝试在浏览器中查看此内容.正如Kolink所说,浏览器将空格折叠到一个空格,因此您丢失了新的线路信息.

如果要将值输出到标准输出(如控制台),那么\r\n就是解决方案.如果您正在处理要写入的文件,则同样如此.

如果你想将它输出到标准输出然后输出到HTML,我建议先填写它\r\n,输出你的变量,然后使用str_replace(这里的文档)将你所有的转换\r\n<br/>:

$html_problem_text = str_replace('\r\n', '<br/>', $problem_text);
Run Code Online (Sandbox Code Playgroud)