Мой клиент использует старую 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>$1</p>', $string);
echo $output;
?>
Выход получается как:
<p>First line</p>
<p>Second line</p>
<p>Third line</p>
Вот регулярное выражение, если вы хотите поиграть с ним: https://regex101.com/r/zY6zO9/1
Других решений пока нет …