如何将新行和 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
我的一个客户正在使用旧的 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