PHP 字符串中的新行,如何添加 <p> 标签

PHP new line in string, how to add <p> tag

所以我有一个 PHP class 值,其中包含以下文本

$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> 替换空白行(在另一个 Whosebug thread 中涵盖)。

像这样(未经测试):

$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