26
$var = "Hi there"."<br/>"."Welcome to my website"."<br/>;"
echo $var;

PHPで改行を処理するエレガントな方法はありますか? 他の言語についてはわかりませんが、C++ にはeol、より読みやすくエレガントに使用できるものがありますか?

ありがとう

4

8 に答える 8

45

改行の場合、PHP as (二重引用符文字列を参照)および."\n" PHP_EOL

ここで<br />は、PHP の改行ではなく、HTML の改行です。


ここでは、投稿した内容を(HTML の改行で)簡略化できます。

$var = "Hi there<br/>Welcome to my website<br/>";

または、PHP の改行を使用します。

$var = "Hi there\nWelcome to my website\n";

注 :前nl2br()に挿入する関数も参照してください。<br>\n

于 2010-04-28T04:48:08.720 に答える
6

私はこれを定義しました:

if (PHP_SAPI === 'cli')
{
   define( "LNBR", PHP_EOL);
}
else
{
   define( "LNBR", "<BR/>");
}

この後、使いLNBRたい場所で使用します\n

于 2013-05-15T14:08:06.480 に答える
2

私はこれまでうまくいった関数を書くことになりました:

// pretty print data
function out($data, $label = NULL) {

  $CLI = (php_sapi_name() === 'cli') ? 'cli' : '';

  $gettype = gettype($data);

  if (isset($label)) {
    if ($CLI) { $label = $label . ': '; }
    else { $label = '<b>'.$label.'</b>: '; }
  }

  if ($gettype == 'string' || $gettype == 'integer' || $gettype == 'double' || $gettype == 'boolean') {
    if ($CLI) { echo $label . $data . "\n"; }
    else { echo $label . $data . "<br/>"; }
  }
  else {
    if ($CLI) { echo $label . print_r($data,1) . "\n"; } 
    else { echo $label . "<pre>".print_r($data,1)."</pre>"; }
  }
}


// Usage

out('Hello world!');

$var = 'Hello Stackoverflow!';
out($var, 'Label');
于 2016-11-07T02:00:36.073 に答える
2

PHP 改行では、PHP_EOL (END of LINE) を使用できます。これは "\n" として機能しますが、html ページには表示できません。行を改行するには HTML 改行を指定する必要があるためです。

define を使用して使用できます

define ("EOL","<br>");

その後、あなたはそれを呼び出すことができます

于 2015-07-21T03:08:47.493 に答える
1

あまり「エレガント」ではなく、ちょっと無駄ですが、コードがどのように見えるかが本当に気になる場合は、独自の派手なフラグを作成してから str_replace を実行できます。

Example:<br />
$myoutput =  "After this sentence there is a line break.<b>.|..</b> Here is a new line.";<br />
$myoutput =  str_replace(".|..","&lt;br />",$myoutput);<br />

また

how about:<br />
$myoutput =  "After this sentence there is a line break.<b>E(*)3</b> Here is a new line.";<br />
$myoutput =  str_replace("E(*)3","&lt;br />",$myoutput);<br />

最初の方法を「中指スタイル」、2番目の方法を「ヤギスタイル」と呼んでいます。

于 2010-04-28T13:39:14.823 に答える
0

ブラウザに出力しているため、 を使用する必要があります<br/>。それ以外の場合は\n\rまたは両方が組み合わされています。

于 2010-04-28T04:48:02.883 に答える
0

まあ、他の言語と同様に、それを行うにはいくつかの方法があります。

以前の回答者が述べたように、"<br/>"は従来の意味での改行ではなく、HTML の改行です。このための組み込みの PHP 定数については知りませんが、いつでも独自の定数を定義できます。

// Something like this, but call it whatever you like
const HTML_LINEBREAK = "<br/>";

一連の行を出力する場合 (たとえば、文字列の配列から)、次のように使用できます。

// Output an array of strings
$myStrings = Array('Line1','Line2','Line3');
echo implode(HTML_LINEBREAK,$myStrings);

ただし、一般的に言えば、PHP の echo/print ステートメント内に HTML をハードコーディングすることは避けてください。HTML をコードの外に置くことができれば、長い目で見ると物事がはるかに柔軟で保守しやすくなります。

于 2010-04-28T04:58:29.957 に答える
-1

\n私にはうまくいきませんでした。\ nは、送信した電子メールの本文に表示されます。これが私が解決した方法です。

str_pad($ input、990); //スペースが990カットオフまでパディングされるようにします。

于 2013-03-05T22:20:34.667 に答える