繁体   English   中英

回声变量包括换行符

[英]ECHO Variable include newline

我有以下代码:

<p><?php echo $item['desc']; ?></p>

该代码从数据库中提取以下内容:

Point 1
Point 2 
Point 3

并显示为:点1点2点3,

我需要怎么做才能包含新行,我尝试添加/ n或
标签添加到数据库参考中,但是没有任何区别。

这应该工作

<p><?php echo nl2br($item['desc']); ?></p>

除此以外:-

echo nl2br(str_replace(' ',"\n", $item['desc']));

也许正在打印换行符,但是您需要将它们作为<br>标记,以便它们在网页上显示为换行符? 您可以使用nl2br()函数:

<p><?php echo nl2br($item['desc']); ?></p>

包括换行符。 它只是不显示在浏览器中,因为HTML标准是这样的。 如果要在浏览器中显示它,请将换行符更改为<br>标记,例如使用nl2br()

尝试这个

echo str_replace(' ',"\n", $item['desc']);

\\ n无法使用,因为您打印的字符串必须由html浏览器处理。 请使用<br>标记。

尝试像

echo str_replace(' ',"<br>", $item['desc']);

我无法确切了解您想要什么,但可能是这样的:

$string = "Point 1 Point 2 Point 3";

$string = preg_replace("/(point \d+ )/i", "\$1\r\n", $string);

echo $string

输出:

Point 1 
Point 2 
Point 3

注意:如果新行已在字符串中但未显示,则仅使用nl2br (请参阅其他答案)。

如果您将代码放在TEST TEST TEST之类的代码中,则可以使用preg_replace函数:

echo preg_replace("{[ ]+}","<br/>",$items['desc']);

如果您的字符串像TEST 1 TEST 2 ...这样,而您的目标是:TEST 1 TEST 2 ...等,那么您可以使用以下模式:

$t =  preg_match_all("{[\w]+[ ]?[0-9]+}",$items['desc'],$m);
foreach ($m[0] as $val) { echo $val."<br/>"; }   

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM