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

时间:2015-02-27 13:39:36

标签: php html markup

所以我有一个PHP类值,其中包含

中的以下文本
$classvalue =
  'line1 line1

  line2 line2

  line3 line3';

如何将其转换为正确的HTML标记?

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

4 个答案:

答案 0 :(得分:4)

使用nl2br将新行字符替换为br标记

$classvalue = nl2br($classvalue);

答案 1 :(得分:2)

使用nl2br

$classvalue = nl2br($classvalue);

或者,循环新行并用<br>替换空行(在另一个StackOverflow thread中涵盖)。

像这样(未经测试):

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

答案 2 :(得分:2)

你可以继续做下去

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

答案 3 :(得分:1)

您可以使用以下代码:

或者:

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

或者:

$return = nl2br($classvalue);
// for new line separator