html — новая строка PHP в строке, как добавить & lt; p & gt; тег

Так что у меня есть значение класса PHP, который имеет следующий текст внутри

$classvalue =
'line1 line1

line2 line2

line3 line3';

Как я могу преобразовать это в правильную разметку HTML?

$classvalue =
'line1 line1
<br>
line2 line2
<br>
line3 line3';

1

Решение

Используйте nl2br для замены символов новой строки тегом br

$classvalue = nl2br($classvalue);
4

Другие решения

Либо использовать nl2br:

$classvalue = nl2br($classvalue);

Или зациклите новые строки и замените пустые строки на <br> (В другом Поток StackOverflow).

Примерно так (не проверено):

$output_lines = "";
foreach(preg_split("/((\r?\n)|(\r\n?))/", $classvalue) as $line){
if (strlen($line) > 0) {
$output_lines .= $line;
} else {
$output_lines .= "<br />";
}
}
2

Вы могли бы пойти дальше и сделать

preg_replace("/[\r\n]/","<p>",$classvalue);
2

Вы можете использовать следующие коды:

Или:

$return = preg_replace("/[\r\n]/","<p>",$classvalue);
// Regex contidion

Или же:

$return = nl2br($classvalue);
// for new line separator
1
По вопросам рекламы [email protected]