【问题标题】:PHP new line in string, how to add <p> tagPHP字符串中的新行,如何添加<p>标签
【发布时间】:2015-04-30 05:55:59
【问题描述】:

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

$classvalue =
  'line1 line1

  line2 line2

  line3 line3';

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

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

【问题讨论】:

    标签: php html markup


    【解决方案1】:

    使用 nl2br 将换行符替换为 br 标签

    $classvalue = nl2br($classvalue);
    

    【讨论】:

      【解决方案2】:

      要么使用nl2br

      $classvalue = nl2br($classvalue);
      

      或者,循环新行并将空白行替换为&lt;br&gt;(在另一个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 />";
          }
      } 
      

      【讨论】:

        【解决方案3】:

        你可以走得更远

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

        【讨论】:

          【解决方案4】:

          您可以使用以下代码:

          要么:

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

          或者:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-12-04
            • 1970-01-01
            • 1970-01-01
            • 2017-11-27
            相关资源
            最近更新 更多