首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php newline的问题

php newline的问题
EN

Stack Overflow用户
提问于 2012-11-22 23:21:43
回答 4查看 622关注 0票数 0

我有这个代码

代码语言:javascript
复制
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";
}

这是一个循环生成的代码。有没有人能教我怎么写那个愚蠢的新台词?我必须这样做,因为我正在修改一段代码。所以我想保留这个布局。

它不起作用。它会用文本打印出来。我也尝试从preg_replace到<br />

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-11-22 23:24:04

如果你想打印出超文本标记语言,新行不是使用\r\n,而是附加<br/>

在一条评论中,您确认您正尝试在浏览器中查看此内容。正如Kolink所说,浏览器将空格折叠为一个空格,因此您会丢失新行信息。

如果要将值输出到标准输出,如控制台,那么\r\n就是解决方案。如果您正在处理要写入的文件,情况也是如此。

如果您想将其同时输出到标准输出,然后再输出为HTML语言,我建议首先用\r\n填充它,输出您的变量,然后使用str_replace (documentation here)将您所有的\r\n转换为<br/>

代码语言:javascript
复制
$html_problem_text = str_replace('\r\n', '<br/>', $problem_text);
票数 5
EN

Stack Overflow用户

发布于 2012-11-22 23:24:11

只是猜测一下,您是在浏览器中查看输出吗?因为浏览器将换行符(或任何空格)折叠成一个(水平)空格。

您需要使用CSS标记在浏览器中创建一个换行符,或者您可以使用<pre>或一些<br />来强制浏览器这样呈现换行符。

票数 3
EN

Stack Overflow用户

发布于 2012-11-22 23:29:25

http://php.net/manual/en/language.types.string.php

代码语言:javascript
复制
\n = CR (Carriage Return) // new line character in Unix
\r = LF (Line Feed) // new line character in Mac OS
\n\r = CR + LF // new line character in Windows
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13515745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档