Так что у меня есть значение класса PHP, который имеет следующий текст внутри
$classvalue =
'line1 line1
line2 line2
line3 line3';
Как я могу преобразовать это в правильную разметку HTML?
$classvalue =
'line1 line1
<br>
line2 line2
<br>
line3 line3';
Используйте nl2br для замены символов новой строки тегом br
$classvalue = nl2br($classvalue);
Либо использовать 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 />";
}
}
Вы могли бы пойти дальше и сделать
preg_replace("/[\r\n]/","<p>",$classvalue);
Вы можете использовать следующие коды:
Или:
$return = preg_replace("/[\r\n]/","<p>",$classvalue);
// Regex contidion
Или же:
$return = nl2br($classvalue);
// for new line separator