如何加倍所有换行?

时间:2009-04-02 03:34:42

标签: php regex

  

编辑:下面描述的问题只是由我的IDE的“功能”引起的,因此正则表达式实际上没有任何问题。如果您对如何双重换行感兴趣,请在一个整齐的包中找到您的问题和答案。 :)

我想将字符串中的每个换行符更改为两个换行符:

"this is
an example
string"
// becomes:
"this is

an example

string"

但是,它需要考虑Unix / Windows行结尾。我已经编写了下面的代码,但它本身并没有表现出来。

$output = preg_replace("/(\r?\n)/", "$1$1", $input);

但它不起作用。将替换字符串更改为此...

"$1 $1"

...让它发挥作用,但之后我间有一个不需要的空间。

2 个答案:

答案 0 :(得分:1)

这很有趣。我刚刚在两个不同的UNIX系统上测试了您的示例代码(Ubuntu和一个FreeBSD框,用于记录)。在这两种情况下,它的工作方式与您希望的完全一样。因此,您的平台或配置可能部分有问题。

答案 1 :(得分:1)

等等。你只是直接将其输出到浏览器?您查看来源?您的回复未显示在HTML中。如果您想将收益视为换行符,请尝试在<pre>之前和</pre>之后。