如何将新行和 br 转换为段落标记

How to convert a new line and a br into paragraph tag

我的一个客户正在使用旧的 CMS,他们的数据库包含在前端使用 nl2br() 来产生段落间距错觉的博客条目。

在后端,有一个简单的文本区域,可让您添加文本。

例如,如果您添加以下内容:

First line<br>
Second line<br>
Third line<br>

前端显示是这样的

First line

Second line

Third line

如何使用 preg_replace 查找此模式,以便在数据库中使其更像这样

<p>First line</p>
<p>Second line</p>
<p>Third line</p>

感谢您提供的任何帮助!

这是示例 PHP,应该可以满足您的需求。

<?php
$string = <<<STRING
First line<br>
Second line<br>
Third line<br>
STRING;

$output = preg_replace("/^(.*)<br.*\/?>/m", '<p></p>', $string);

echo $output;
?> 

输出结果为:

<p>First line</p>                                                                                                             
<p>Second line</p>                                                                                                            
<p>Third line</p> 

这里是正则表达式,如果你想玩的话:https://regex101.com/r/zY6zO9/1