PHP 长字符串不带换行符

问题描述 投票:0回答:4

我在 php 中有一个很长的字符串,它不包含新行 (' ').

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

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

谢谢!

php string break
4个回答
2
投票

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

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

它基于 Lior Cohen 的答案,但它也删除了回车符“ ”.


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);

但这很糟糕...抱歉:-)


1
投票

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

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

对于此类事情,您仍然应该使用串联运算符 (.)。如果您使用操作码缓存 (APC),则这里的性能损失可以忽略不计,并且在将数据库访问和附加逻辑(包括循环)纳入运行时方程时,这实际上不会引起任何明显的影响。

更新:

请阅读下面的页面。上述结论在文本中并不容易得出,但仔细检查应该会发现它是有效的。

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


0
投票

这很简单:

$str = '长文本长文本长文本长文本长文本长文本';

$str .= '长文本';

© www.soinside.com 2019 - 2024. All rights reserved.