1

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

在后端,有一个简单的 textarea 允许您添加文本。

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

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>

感谢您的任何帮助,您可以提供!

4

1 回答 1

1

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

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

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

echo $output;
?> 

输出如下:

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

如果您想使用它,这是正则表达式:https ://regex101.com/r/zY6zO9/1

于 2015-05-05T16:47:01.457 回答