6

PHP に改行 ('\n') を含まない長い文字列があります。

私のコーディング規約では、100 文字を超える行は許可されていません。

を使用せずに長い文字列を複数の行に分割する方法はありますか . 効率の悪い演算子 - 2 つの文字列を 1 つの文字列として指定できるため、それらを連結する必要はありません。

ありがとう!

4

3 に答える 3

2

これは、すべての問題を解決した正しいコードです。

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

Lior Cohen の回答に基づいていますが、キャリッジ リターン "\r" も削除されます。

于 2016-11-28T01:37:23.007 に答える
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);

しかし、これはひどいです...申し訳ありません:-)

于 2009-08-18T12:06:30.917 に答える
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

于 2009-08-18T12:07:54.940 に答える