【问题标题】:Javascript split and join in PHPJavascript拆分并加入PHP
【发布时间】:2015-03-11 09:36:07
【问题描述】:

如何在 PHP 中编写此代码? 我尝试了几件事,但它不起作用。 你能帮帮我吗?

return s.split(/\r?\n/).join("<br>");

谢谢!

【问题讨论】:

  • PHP 曾经有 splitjoin 函数,但它们作为更广泛使用的 explodeimplode 函数的别名而被弃用。 php.net/split

标签: javascript php regex


【解决方案1】:

看起来你正在使用正则表达式。这个怎么样

echo implode(preg_split('/\r?\n/', $s), '<br>');

【讨论】:

    【解决方案2】:

    PHP 曾经有 splitjoin 函数,但它们作为更广泛使用的 explodeimplode 函数的别名而被弃用。 RTM

    您尝试做的事情可以使用implodeexplodestr_replace 来完成。后者应该替换任何 \r 字符(因为它们是可选的)。然后,您可以使用\n 作为分隔符explode 字符串,并使用&lt;br&gt; 再次使用implode。但这意味着调用 3 个函数,考虑到有一个函数可以完全满足您的需要,这有点多余:nl2br

    return implode(
        '<br/>',
        //split on \n
        explode(
            "\n",
           //remove any \r chars
            str_replace(
                "\r",
                '',
                $s
            )
        )
    );
    //The results are the same as this clean, simple one-liner
    return nl2br($s);
    

    Tl;tr

    使用nl2br,就这么简单,它会以最少的努力完成您想要的工作。

    【讨论】:

      【解决方案3】:

      我愿意:

      return implode("<br />", explode("\R", $s));
      

      \R 代表任何换行符,\n\r\r\n

      【讨论】:

        【解决方案4】:

        你可以这样写:

        return implode("<br />", explode("\r\n", s));
        

        【讨论】:

        • 检查正则表达式:\r 是可选的,添加一个str_replace 并在\n 上展开
        猜你喜欢
        • 2014-07-18
        • 2012-10-03
        • 1970-01-01
        • 2013-09-03
        • 2015-08-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-01
        相关资源
        最近更新 更多