PHP长字符串没有换行符

时间:2009-08-18 12:02:17

标签: php string break

我在php中有一个长字符串,它不包含新行('\ n')。

我的编码约定不允许超过100个字符的行。

有没有办法将我的长字符串分成多行而不使用。效率较低的运算符 - 我不需要连接2个字符串,因为它们可以作为a 单串。

谢谢!

ý

3 个答案:

答案 0 :(得分:2)

这是正确的代码,解决了所有问题:

$myStr = "
    here is my string
    and it is spread across multiple lines
  ";
  $myStr = str_replace(array("\r","\n"), "", $myStr);  

这是基于Lior Cohen的答案,但它也剥夺了回车和#34; \ r"。

答案 1 :(得分:1)

使用heredoc语法(或nowdoc,根据您的需要,请查看文档链接):

$multiline = <<<EOT
My name is "$name". I am printing some $foo->foo.
This should print a capital 'A': \x41
EOT;
$singleline = str_replace("\n","",$multiline);

但这很糟糕......对不起: - )

答案 2 :(得分:1)

您可以从字符串中删除换行符:

  $myStr = "
    here is my string
    and it is spread across multiple lines
  ";
  $myStr = str_replace("\n", "", $myStr);  

你仍然应该使用连接运算符(。)来完成这些事情。如果你使用操作码缓存(APC),这里的性能损失可以忽略不计,当将DB访问和附加逻辑(包括循环)带入运行时间方程时,这实际上并不明显。

<强>更新

将下面的页面读取。上述结论在文中并不容易获得,但仔细检查应该表明它是有效的。

http://blog.golemon.com/2006/06/how-long-is-piece-of-string.html