Php ECHO变量包括换行符

Php ECHO变量包括换行符,php,mysql,database,Php,Mysql,Database,我有以下代码: <p><?php echo $item['desc']; ?></p> 并将其显示为:点1点2点3 要包含新行,我需要做什么?我已经尝试将/n或标记添加到DB引用中,但是没有任何区别。试试这个 echo str_replace(' ',"\n", $item['desc']); 试试这个 echo str_replace(' ',"\n", $item['desc']); \n不起作用,因为您打印的字符串必须由浏览器以html格式处理。

我有以下代码:

<p><?php echo $item['desc']; ?></p>
并将其显示为:点1点2点3

要包含新行,我需要做什么?我已经尝试将/n或标记添加到DB引用中,但是没有任何区别。

试试这个

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

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

\n不起作用,因为您打印的字符串必须由浏览器以html格式处理。
请改用标记。

\n因为您打印的字符串必须由浏览器以html格式处理,因此无效。
改用标记。

可能正在打印换行符,但您需要将它们作为标记,以便它们在网页上显示为换行符?您可以使用该功能进行以下操作:

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

也许新行正在打印,但您需要将它们作为标记,以便它们在网页上显示为新行?您可以使用该功能进行以下操作:

<p><?php echo nl2br($item['desc']); ?></p>
这应该行得通

<p><?php echo nl2br($item['desc']); ?></p>
这应该行得通

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

新行也包括在内。它只是不显示在浏览器中,因为HTML标准这么说。如果要在浏览器中显示,请将换行符更改为标记,例如使用

将包含换行符。它只是不显示在浏览器中,因为HTML标准这么说。如果要在浏览器中显示,请将换行符更改为标记,例如使用

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

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查看其他答案

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

$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查看其他答案

如果您的代码在一行测试中,您可以使用以下函数:

echo preg_replace("{[ ]+}","<br/>",$items['desc']);
如果你的字符串像这个测试1测试2。。。你的目标是: 测试1 测试2 ... 等等。。 您可以使用以下模式:

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

如果您的代码在一行中,如测试,则可以使用函数:

echo preg_replace("{[ ]+}","<br/>",$items['desc']);
如果你的字符串像这个测试1测试2。。。你的目标是: 测试1 测试2 ... 等等。。 您可以使用以下模式:

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

什么是$item.?array.?是否要在每个点x项['desc']之后添加换行符?它应该是\n,而不是/n-只是一个更正,这并不重要,因为您应该使用答案中指出的另一种方法。什么是$item.?array.?是否要在每个点x项['desc']之后添加换行符?应该是\n,not/n-只是一个更正,这并不重要,因为你应该使用答案中指出的另一种方法。这里不需要正则表达式,它相当昂贵。nl2br正是这个场景的首选工具。如果新行已经在字符串中,那么是的。但我在阅读OP的问题时对此不确定。不,我也不确定,我想它们是我的第一个选择。这里不需要正则表达式,它相当昂贵。nl2br正是这个场景的首选工具。如果新行已经在字符串中,那么是的。但在阅读OP的问题时,我不确定这一点。不,我也不确定,我想这是因为我的第一个选择奏效了。@vascowhite,可能是第一个奏效了。因为在第二行中,您将在点和数字之间插入换行符,因此将有6行而不是3行。如果第一个有效,那么我的答案是错误的@是的,很好的发现,我也错过了:@vascowhite,可能是第一个有效的。因为在第二行中,您将在点和数字之间插入换行符,因此将有6行而不是3行。如果第一个有效,那么我的答案是错误的@enenen是的,不错,我也错过了: